Function at 0x442150
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xcc
push ebx
push ebp
mov ebp, dword [esp + 0xd8]
mov ebx, ecx
push esi
push edi
mov ecx, ebp
mov dword [esp + 0x18], ebx
call fcn.00443630
cmp eax, 0xffff82ff
jne 0x442a64
mov edx, dword [ebp + 0x10c]
mov esi, 0x1f
mov eax, dword [ebp + 0x108]
cmp edx, esi
mov ecx, dword [ebp + 0x114]
cmova edx, esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0x118]
cmp edx, esi
mov dword [esp + 0x38], 0
cmova edx, esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x44], edx
cmp eax, ecx
je 0x44221b
test al, 0xf
jne 0x442201
test cl, 0xf
jne 0x442201
lea eax, [esp + 0x34]
push eax
push 0
push ebp
call fcn.00441080
lea eax, [esp + 0x28]
push eax
push 1
push ebp
call fcn.00441080
jmp 0x44221b
lea eax, [esp + 0x34]
push eax
push 0
push ebp
call fcn.00440cc0
lea eax, [esp + 0x28]
push eax
push 1
push ebp
call fcn.00440cc0
mov ecx, dword [ebp + 0x148]
mov esi, dword [ebp + 0x150]
xor ecx, esi
mov edx, dword [ebp + 0x14c]
mov eax, ecx
xor edx, dword [ebp + 0x154]
and eax, 0x3fff
imul edi, eax, 0x68
add edi, ebx
mov dword [esp + 0x24], edi
cmp dword [edi], ecx
jne 0x44224e
cmp dword [edi + 4], edx
je 0x44225b
push edi
push ebp
call fcn.004420d0
mov esi, dword [ebp + 0x150]
mov ecx, dword [ebp + 0x100]
lea eax, [edi + 0x38]
mov edx, dword [ebp + 0x154]
mov dword [esp + 0x14], eax
lea eax, [edi + 8]
shl ecx, 7
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x140]
push 0
mov edi, dword [ecx + 0x4b48b4]
mov ebx, dword [ecx + 0x4b48b0]
xor edi, dword [eax*8 + 0x4b4784]
xor ebx, dword [eax*8 + 0x4b4780]
xor edi, edx
xor edi, dword [ebp + 0x14c]
xor ebx, esi
xor ebx, dword [ebp + 0x148]
push 0x1fc4
push edi
push ebx
call fcn.004613b0
mov esi, dword [ebp + 0x118]
mov ecx, ebx
imul eax, eax, 0x1fc4
sub ecx, eax
cmp esi, 0x1f
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x18]
lea eax, [eax + 0x34000]
lea eax, [ecx + eax*8]
mov ecx, 0x1f
cmova esi, ecx
mov dword [esp + 0x20], eax
cmp dword [eax], ebx
jne 0x44233b
cmp dword [eax + 4], edi
jne 0x44233b
cmp esi, 0xc
jle 0x44231e
cmp dword [eax + 8], 0xffff82ff
jne 0x44231e
push eax
push 0
push ebp
call fcn.004415e0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
add eax, 0x10
push eax
push edx
push 0
push ebp
call fcn.00441730
mov eax, dword [esp + 0x20]
cmp esi, 0x17
jg 0x442396
cmp dword [eax + 0x14], 0xffff82ff
jne 0x442396
push eax
push dword [esp + 0x18]
push 0
push ebp
call fcn.00442ef0
jmp 0x442396
cmp esi, 0xc
jle 0x442364
push eax
push 0
push ebp
call fcn.004415e0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
add eax, 0x10
push eax
push edx
push 0
push ebp
call fcn.00441730
mov eax, dword [esp + 0x20]
jmp 0x442372
mov dword [eax + 0xc], 0xffff82ff
mov dword [eax + 8], 0xffff82ff
cmp esi, 0x17
jg 0x44238a
push eax
push dword [esp + 0x18]
push 0
push ebp
call fcn.00442ef0
mov eax, dword [esp + 0x20]
jmp 0x442391
mov dword [eax + 0x14], 0xffff82ff
mov dword [eax], ebx
mov dword [eax + 4], edi
mov ecx, dword [ebp + 0x104]
mov eax, dword [ebp + 0x144]
shl ecx, 7
push 0
push 0x1fc4
mov edi, dword [ecx + 0x4b48f4]
xor edi, dword [eax*8 + 0x4b4804]
mov ebx, dword [ecx + 0x4b48f0]
xor ebx, dword [eax*8 + 0x4b4800]
xor edi, dword [ebp + 0x14c]
xor ebx, dword [ebp + 0x148]
xor edi, dword [ebp + 0x154]
xor ebx, dword [ebp + 0x150]
push edi
push ebx
call fcn.004613b0
mov esi, dword [ebp + 0x10c]
mov ecx, ebx
imul eax, eax, 0x1fc4
sub ecx, eax
cmp esi, 0x1f
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x18]
lea eax, [eax + 0x39f4c]
lea eax, [ecx + eax*8]
mov ecx, 0x1f
cmova esi, ecx
mov dword [esp + 0x14], eax
cmp dword [eax], ebx
jne 0x44246a
cmp dword [eax + 4], edi
jne 0x44246a
cmp esi, 0xc
jle 0x44244d
cmp dword [eax + 8], 0xffff82ff
jne 0x44244d
push eax
push 1
push ebp
call fcn.004415e0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
add eax, 0x40
push eax
push edx
push 1
push ebp
call fcn.00441730
mov eax, dword [esp + 0x14]
cmp esi, 0x17
jg 0x4424c5
cmp dword [eax + 0x14], 0xffff82ff
jne 0x4424c5
push eax
push dword [esp + 0x20]
push 1
push ebp
call fcn.00442ef0
jmp 0x4424c5
cmp esi, 0xc
jle 0x442493
push eax
push 1
push ebp
call fcn.004415e0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
add eax, 0x40
push eax
push edx
push 1
push ebp
call fcn.00441730
mov eax, dword [esp + 0x14]
jmp 0x4424a1
mov dword [eax + 0xc], 0xffff82ff
mov dword [eax + 8], 0xffff82ff
cmp esi, 0x17
jg 0x4424b9
push eax
push dword [esp + 0x20]
push 1
push ebp
call fcn.00442ef0
mov eax, dword [esp + 0x14]
jmp 0x4424c0
mov dword [eax + 0x14], 0xffff82ff
mov dword [eax], ebx
mov dword [eax + 4], edi
cmp dword [esp + 0x44], 0x17
lea esi, [ebp + 0x114]
mov byte [esp + 0x13], 1
lea ebx, [ebp + 0x108]
jg 0x4426a0
lea eax, [esp + 0x34]
push eax
push esi
push ebx
push ebp
call fcn.004444e0
test eax, eax
je 0x4424fc
mov byte [esp + 0x13], 0
jmp 0x4426a0
mov eax, dword [ebx]
mov ecx, dword [ebx + 8]
and eax, 0xf
mov edx, dword [esp + 0x20]
sub ecx, eax
dec ecx
mov edx, dword [edx + 0x14]
cmp ecx, 3
jge 0x442526
mov eax, dword [ecx*4 + 0x4cff08]
imul eax, edx
cdq
and edx, 0x7f
add edx, eax
sar edx, 7
add dword [esp + 0x38], edx
mov edx, dword [ebp + 0x188]
mov ebx, dword [ebp + 0x18c]
jmp 0x44253c
mov ebx, dword [esp + 0x18]
mov eax, edx
or eax, ebx
je 0x442694
bsf esi, edx
jne 0x44255a
bsf esi, ebx
je 0x442555
add esi, 0x20
jmp 0x44255a
mov esi, 0x7f
mov ecx, dword [esi*8 + 0x4b6a80]
mov eax, dword [esi*8 + 0x4b6a84]
not ecx
and edx, ecx
not eax
and ebx, eax
mov dword [esp + 0x1c], edx
mov eax, esi
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp + 0x158]
cdq
and edx, 7
lea edi, [edx + eax]
and edi, 0xfffffff8
mov ecx, dword [edi + 0x4b6dd8]
mov edx, dword [ecx*8 + 0x4f11f8]
mov eax, dword [ecx*8 + 0x4f11fc]
and edx, ebx
and eax, dword [ebp + 0x15c]
or edx, eax
mov edx, dword [esp + 0x1c]
je 0x442538
lea esi, [esi + esi*2]
mov eax, dword [esi*8 + 0x500c04]
and eax, dword [ebp + 0x1bc]
mov edx, dword [esi*8 + 0x500c0c]
mov ecx, dword [esi*8 + 0x500c00]
and ecx, dword [ebp + 0x1b8]
imul edx, eax
mov eax, dword [esi*8 + 0x500c08]
imul eax, ecx
mov ecx, dword [esi*8 + 0x500c14]
xor edx, eax
mov eax, dword [esi*8 + 0x500c10]
mov esi, dword [edi + 0x4f1200]
mov edi, dword [edi + 0x4f1204]
shr edx, cl
and esi, dword [eax + edx*8]
and edi, dword [eax + edx*8 + 4]
and esi, ebx
and edi, dword [ebp + 0x15c]
xor ebx, ebx
nop
mov eax, esi
or eax, edi
je 0x44267e
bsf edx, esi
jne 0x44262a
bsf edx, edi
je 0x442625
add edx, 0x20
jmp 0x44262a
mov edx, 0x7f
mov ecx, dword [edx*8 + 0x4b6a80]
mov eax, dword [edx*8 + 0x4b6a84]
not ecx
shl edx, 4
not eax
and esi, ecx
and edi, eax
mov ecx, dword [edx + 0x4eff00]
mov eax, dword [edx + 0x4eff04]
and ecx, dword [ebp + 0x158]
and eax, dword [ebp + 0x15c]
or ecx, eax
je 0x442670
mov ecx, 1
lea eax, [ebx + 1]
test ecx, ecx
cmovne eax, ebx
mov ebx, eax
jmp 0x442610
xor ecx, ecx
lea eax, [ebx + 1]
test ecx, ecx
cmovne eax, ebx
mov ebx, eax
jmp 0x442610
mov eax, dword [esp + 0x38]
neg ebx
mov edx, dword [esp + 0x1c]
lea eax, [eax + ebx*4]
mov dword [esp + 0x38], eax
jmp 0x442538
lea ebx, [ebp + 0x108]
lea esi, [ebp + 0x114]
cmp dword [esp + 0x40], 0x17
jg 0x44285a
lea eax, [esp + 0x28]
push eax
push ebx
push esi
push ebp
call fcn.004447d0
test eax, eax
jne 0x4429e7
mov eax, dword [esi]
mov ecx, dword [esi + 8]
and eax, 0xf
mov edx, dword [esp + 0x14]
sub ecx, eax
dec ecx
mov edx, dword [edx + 0x14]
cmp ecx, 3
jge 0x4426ea
mov eax, dword [ecx*4 + 0x4cff08]
imul eax, edx
cdq
and edx, 0x7f
add edx, eax
sar edx, 7
add dword [esp + 0x2c], edx
mov edx, dword [ebp + 0x190]
mov ebx, dword [ebp + 0x194]
jmp 0x442704
mov ebx, dword [esp + 0x18]
mov eax, edx
or eax, ebx
je 0x44285a
bsf esi, edx
jne 0x442722
bsf esi, ebx
je 0x44271d
add esi, 0x20
jmp 0x442722
mov esi, 0x7f
mov ecx, dword [esi*8 + 0x4b6a80]
mov eax, dword [esi*8 + 0x4b6a84]
not ecx
and edx, ecx
not eax
and ebx, eax
mov dword [esp + 0x1c], edx
mov eax, esi
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp + 0x160]
cdq
and edx, 7
lea edi, [edx + eax]
and edi, 0xfffffff8
mov ecx, dword [edi + 0x4b6dd8]
mov edx, dword [ecx*8 + 0x4f11f8]
mov eax, dword [ecx*8 + 0x4f11fc]
and edx, ebx
and eax, dword [ebp + 0x164]
or edx, eax
mov edx, dword [esp + 0x1c]
je 0x442700
lea esi, [esi + esi*2]
mov eax, dword [esi*8 + 0x500c00]
and eax, dword [ebp + 0x1b8]
mov edx, dword [esi*8 + 0x500c08]
mov ecx, dword [esi*8 + 0x500c04]
and ecx, dword [ebp + 0x1bc]
imul edx, eax
mov eax, dword [esi*8 + 0x500c0c]
imul eax, ecx
mov ecx, dword [esi*8 + 0x500c14]
xor edx, eax
mov eax, dword [esi*8 + 0x500c10]
mov esi, dword [edi + 0x4f1200]
mov edi, dword [edi + 0x4f1204]
shr edx, cl
and esi, dword [eax + edx*8]
and edi, dword [eax + edx*8 + 4]
and esi, ebx
and edi, dword [ebp + 0x164]
xor ebx, ebx
mov eax, esi
or eax, edi
je 0x442844
bsf eax, esi
jne 0x4427f0
bsf eax, edi
je 0x4427eb
add eax, 0x20
jmp 0x4427f0
mov eax, 0x7f
mov edx, dword [eax*8 + 0x4b6a80]
mov ecx, dword [eax*8 + 0x4b6a84]
not edx
shl eax, 4
not ecx
and edi, ecx
and esi, edx
mov ecx, dword [eax + 0x4eff08]
mov eax, dword [eax + 0x4eff0c]
and ecx, dword [ebp + 0x160]
and eax, dword [ebp + 0x164]
or ecx, eax
je 0x442836
mov ecx, 1
lea eax, [ebx + 1]
test ecx, ecx
cmovne eax, ebx
mov ebx, eax
jmp 0x4427d6
xor ecx, ecx
lea eax, [ebx + 1]
test ecx, ecx
cmovne eax, ebx
mov ebx, eax
jmp 0x4427d6
mov eax, dword [esp + 0x2c]
neg ebx
mov edx, dword [esp + 0x1c]
lea eax, [eax + ebx*4]
mov dword [esp + 0x2c], eax
jmp 0x442700
cmp byte [esp + 0x13], 0
je 0x4429e7
lea esi, [esp + 0x48]
mov edi, 2
nop
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x442870
lea esi, [esp + 0x58]
mov edi, 2
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x442888
lea esi, [esp + 0x68]
mov edi, 2
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x4428a0
lea esi, [esp + 0x78]
mov edi, 2
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x4428b8
lea esi, [esp + 0x88]
mov edi, 2
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x4428d3
lea esi, [esp + 0x98]
mov edi, 2
nop
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x4428f0
lea esi, [esp + 0xa8]
mov edi, 2
nop dword [eax + eax]
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x442910
lea esi, [esp + 0xb8]
mov edi, 2
nop dword [eax + eax]
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x442930
lea esi, [esp + 0xc8]
mov edi, 2
nop dword [eax + eax]
mov ecx, esi
call fcn.00406150
add esi, 8
sub edi, 1
jne 0x442950
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x28]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x50]
push eax
push ebx
push esi
push edi
push ebp
call fcn.00444ac0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x50]
push eax
push esi
push ebx
push edi
push ebp
call fcn.00445ce0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.00446ed0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x4c]
push eax
push ebp
call fcn.00447410
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [edi + 8]
push eax
push 0
push ebp
call fcn.00442a80
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [edi + 0x38]
push eax
push 1
push ebp
call fcn.00442a80
mov eax, dword [esp + 0x40]
mov ecx, 0x80
mov esi, dword [eax*4 + 0x4d0688]
mov eax, dword [esp + 0x44]
mov ebx, dword [eax*4 + 0x4d0688]
mov eax, ecx
sub eax, ebx
sub ecx, esi
imul eax, dword [esp + 0x38]
imul ecx, dword [esp + 0x2c]
imul esi, dword [esp + 0x28]
imul ebx, dword [esp + 0x34]
cdq
and edx, 0x7f
lea edi, [edx + eax]
mov eax, ecx
cdq
and edx, 0x7f
sar edi, 7
add eax, edx
sar eax, 7
sub edi, eax
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
sub edi, eax
mov eax, ebx
cdq
and edx, 0x7f
lea ecx, [edx + eax]
sar ecx, 7
add ecx, edi
sub ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x3c]
mov eax, ecx
neg eax
cmp dword [ebp + 0x120], 1
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xcc
ret 8