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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x98
mov dword [esp + 0x58], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x48], edx
mov edx, dword [eax + 0xc]
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x54], ebx
xor ebx, ebx
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x40], edx
mov dword [esp + 0x50], esi
xor esi, esi
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 4]
sub esi, eax
mov dword [esp + 0x44], edx
cdq
mov dword [esp + 0x94], eax
mov eax, ebx
mov ebp, dword [esp + 0xb0]
sbb eax, edx
mov dword [esp + 0x90], edx
mov edx, ebp
mov dword [esp + 4], eax
mov eax, 0x80
sub edx, eax
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x34], edi
sbb edi, ebx
mov dword [esp + 0x30], ecx
mov dword [esp], esi
jge 0x46ad59
mov edx, 1
jmp 0x46ad5b
xor edx, edx
test edx, edx
jne 0x46adaa
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
add ebp, dword [esp + 0x94]
mov ecx, ebp
adc esi, dword [esp + 0x90]
mov edi, 0x80
add eax, 0xffffffff
adc edx, 0xffffffff
add ebx, 0x10
sub ecx, edi
mov edi, 0
mov ecx, esi
sbb ecx, edi
jge 0x46ad6f
mov dword [esp + 0x34], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
mov edx, 0x40
mov eax, ebp
xor ebx, ebx
sub eax, edx
mov esi, dword [esp + 0x34]
sbb esi, ebx
jge 0x46adc4
mov eax, 1
jmp 0x46adc6
xor eax, eax
test eax, eax
je 0x46add7
xor edx, edx
xor eax, eax
xor ebx, ebx
xor esi, esi
jmp 0x46af1c
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x58]
mov ebx, dword [edi + 8]
lea ecx, [ebp - 0x40]
mov edx, dword [edi + 0xc]
cmp ecx, 0x1f
ja 0x46adfc
shrd ebx, edx, cl
shr edx, cl
mov dword [esp + 0x5c], edx
jmp 0x46ae06
xor ebx, ebx
mov dword [esp + 0x5c], ebx
mov ebx, edx
shr ebx, cl
add ebp, dword [esp + 0x94]
mov ecx, ebp
adc eax, dword [esp + 0x90]
mov edx, 0x40
add edi, 0x10
add dword [esp + 0x54], 0xffffffff
adc esi, 0xffffffff
sub ecx, edx
mov edx, 0
mov ecx, eax
sbb ecx, edx
jl 0x46b677
mov edx, ebx
or edx, dword [esp + 0x5c]
je 0x46ade3
mov dword [esp + 0x50], esi
mov edx, 0x40
mov dword [esp + 0x34], eax
mov dword [esp + 0x58], edi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x48]
mov eax, ebp
mul ebx
mov eax, ebx
mov ecx, edx
mul dword [esp + 0x4c]
add ecx, eax
mov eax, ebp
mov edi, edx
adc edi, 0
mul esi
add eax, ecx
mov ebx, edx
adc ebx, edi
sub eax, ecx
mov ecx, ebx
sbb ecx, edi
jae 0x46ae88
mov edi, 1
jmp 0x46ae8a
xor edi, edi
mov eax, dword [esp + 0x4c]
mul esi
mov ecx, dword [esp + 0x58]
add edi, edx
mov ebp, dword [esp + 0x38]
add eax, ebx
mov ebx, dword [ecx + 8]
adc edi, 0
mov edx, dword [ecx + 0xc]
lea ecx, [ebp - 0x40]
cmp ecx, 0x1f
ja 0x46aeb6
mov esi, edx
shrd ebx, edx, cl
shr esi, cl
jmp 0x46aebc
mov ebx, edx
xor esi, esi
shr ebx, cl
add ebp, dword [esp + 0x94]
mov edx, dword [esp + 0x34]
adc edx, dword [esp + 0x90]
add dword [esp + 0x54], 0xffffffff
mov ecx, dword [esp + 0x58]
adc dword [esp + 0x50], 0xffffffff
add ebx, eax
mov dword [esp + 0x38], ebp
adc esi, edi
add ecx, 0x10
mov dword [esp + 0x58], ecx
mov ecx, 0x40
sub ebp, ecx
mov ecx, 0
mov dword [esp + 0x34], edx
sbb edx, ecx
jge 0x46ae58
mov edx, ebx
sub edx, eax
mov edx, esi
mov ebp, dword [esp + 0x38]
sbb edx, edi
jae 0x46af18
mov edx, 1
jmp 0x46af1a
xor edx, edx
xor eax, eax
xor ecx, ecx
xor edi, edi
sub edi, ebp
mov dword [esp + 8], edi
mov edi, dword [esp + 0x34]
sbb ecx, edi
mov dword [esp + 0xc], ecx
mov ecx, ebp
or ecx, edi
je 0x46b098
mov ecx, edx
xor edi, edi
or ecx, edi
jne 0x46b085
mov eax, dword [esp + 0x48]
mul ebx
mov eax, ebx
mov edi, edx
mul dword [esp + 0x4c]
add edi, eax
mov ecx, edx
mov eax, dword [esp + 0x48]
adc ecx, 0
mul esi
add eax, edi
mov ebx, edx
adc ebx, ecx
sub eax, edi
mov edi, ebx
sbb edi, ecx
jae 0x46af76
mov edi, 1
jmp 0x46af78
xor edi, edi
mov eax, dword [esp + 0x4c]
mul esi
mov esi, dword [esp + 0x58]
add edi, edx
add eax, ebx
mov dword [esp + 0x1c], eax
mov ebx, dword [esi + 0xc]
adc edi, 0
mov dword [esp + 0x10], ebx
cmp ebp, 0x1f
mov edx, dword [esi + 8]
mov ebx, dword [esi]
mov eax, dword [esi + 4]
ja 0x46afac
mov ecx, ebp
mov esi, eax
shrd ebx, eax, cl
shr esi, cl
jmp 0x46afb4
mov ecx, ebp
mov ebx, eax
shr ebx, cl
xor esi, esi
mov eax, dword [esp + 8]
lea ecx, [eax + 0x40]
cmp ecx, 0x1f
ja 0x46afd5
mov eax, dword [esp + 0x10]
shld eax, edx, cl
mov dword [esp + 0x18], eax
mov eax, edx
shl eax, cl
mov dword [esp + 0x14], eax
jmp 0x46afe5
mov eax, edx
shl eax, cl
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
or ebx, dword [esp + 0x14]
or esi, dword [esp + 0x18]
cmp ebp, 0x1f
ja 0x46afff
mov ecx, ebp
mov eax, dword [esp + 0x10]
shrd edx, eax, cl
shr eax, cl
jmp 0x46b009
mov ecx, ebp
xor eax, eax
mov edx, dword [esp + 0x10]
shr edx, cl
mov ecx, dword [esp + 8]
add ecx, dword [esp]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc]
adc ecx, dword [esp + 4]
add ebp, dword [esp + 0x94]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x34]
adc ebp, dword [esp + 0x90]
add dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x1c]
adc dword [esp + 0x50], 0xffffffff
add ebx, ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x58]
adc esi, edi
add ecx, 0x10
mov dword [esp + 0x58], ecx
mov ecx, ebx
sub ecx, ebp
mov ebp, esi
sbb ebp, edi
mov ebp, dword [esp + 0x38]
jae 0x46b06c
mov edi, 1
jmp 0x46b06e
xor edi, edi
add edx, edi
mov edi, ebp
adc eax, 0
or edi, dword [esp + 0x34]
je 0x46b098
mov edi, edx
or edi, eax
je 0x46af46
xor edi, edi
mov ecx, dword [esp + 0x50]
sub ecx, edi
jl 0x46b31f
jmp 0x46b343
xor edi, edi
xor ecx, ecx
mov ebp, dword [esp + 0x50]
sub ebp, ecx
jl 0x46b31f
mov dword [esp + 0x74], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], ebx
push dword [esp + 0x74]
push dword [esp + 0x70]
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.0047af10
mov ebx, dword [esp + 0x58]
mov ecx, edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x40]
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edi
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov ebx, dword [esp + 0x6c]
mul ebx
mov eax, ebx
mov ebp, edx
mul dword [esp + 0x44]
add ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x40]
adc ebx, 0
mul dword [esp + 0x74]
add eax, ebp
adc edx, ebx
sub eax, ebp
mov dword [esp + 0x84], edx
sbb edx, ebx
jae 0x46b127
mov ebp, 1
jmp 0x46b129
xor ebp, ebp
mov eax, dword [esp + 0x44]
mul dword [esp + 0x74]
add ebp, edx
add eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x70]
adc ebp, 0
add esi, ebx
mov dword [esp + 0x88], eax
mov eax, esi
adc edi, ecx
sub eax, ebx
mov eax, edi
sbb eax, ecx
jae 0x46b160
mov dword [esp + 0x78], 1
jmp 0x46b166
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
mul ecx
mov eax, ecx
mov ebx, edx
mul dword [esp + 0x4c]
add dword [esp + 0x54], 0xffffffff
mov ecx, edx
adc dword [esp + 0x50], 0xffffffff
add ebx, eax
mov eax, dword [esp + 0x48]
adc ecx, 0
mul dword [esp + 0x5c]
add eax, ebx
adc edx, ecx
sub eax, ebx
mov dword [esp + 0x7c], edx
sbb edx, ecx
jae 0x46b1a6
mov ecx, 1
jmp 0x46b1a8
xor ecx, ecx
mov eax, dword [esp + 0x5c]
mul dword [esp + 0x4c]
mov ebx, eax
add ecx, edx
add ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x88]
adc ecx, 0
add esi, edx
mov eax, esi
adc edi, ebp
sub eax, edx
mov edx, edi
sbb edx, ebp
jae 0x46b1d7
mov edx, 1
jmp 0x46b1d9
xor edx, edx
mov ebp, dword [esp + 0x6c]
mov eax, ebp
add dword [esp + 0x78], edx
mul dword [esp + 0x48]
mov eax, ebp
mov dword [esp + 0x8c], edi
mov edi, edx
mul dword [esp + 0x4c]
add edi, eax
mov ebp, edx
mov eax, dword [esp + 0x48]
adc ebp, 0
mul dword [esp + 0x74]
add eax, edi
adc edx, ebp
sub eax, edi
mov dword [esp + 0x80], edx
mov edi, dword [esp + 0x8c]
sbb edx, ebp
jae 0x46b224
mov ebp, 1
jmp 0x46b226
xor ebp, ebp
mov eax, dword [esp + 0x4c]
mul dword [esp + 0x74]
add ebp, edx
add eax, dword [esp + 0x80]
adc ebp, 0
add esi, ebx
mov dword [esp + 0x60], esi
adc edi, ecx
sub esi, ebx
mov dword [esp + 0x5c], edi
sbb edi, ecx
jae 0x46b253
mov edx, 1
jmp 0x46b255
xor edx, edx
mov ecx, dword [esp + 0x78]
xor esi, esi
add ecx, edx
mov edx, dword [esp + 0x64]
add edx, ecx
mov ebx, dword [esp + 0x68]
adc ebx, 0
mov dword [esp + 0x64], edx
sub edx, ecx
mov dword [esp + 0x68], ebx
sbb ebx, esi
jae 0x46b27f
mov edx, 1
jmp 0x46b281
xor edx, edx
mov ebx, eax
mov esi, ebp
add ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
adc esi, dword [esp + 0x68]
add ecx, 0x10
mov dword [esp + 0x6c], ebx
sub ebx, eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x58], ecx
sbb esi, ebp
jae 0x46b2ad
mov eax, 1
jmp 0x46b2af
xor eax, eax
add edx, eax
xor eax, eax
or edx, eax
je 0x46b2fd
mov esi, dword [esp + 0x5c]
mov ebp, esi
mov ebx, dword [esp + 0x60]
xor ecx, ecx
shl ebp, 0x1f
shr ebx, 1
mov edx, dword [esp + 0x6c]
or ebx, ebp
mov ebp, edx
shr esi, 1
shl ebp, 0x1f
mov eax, dword [esp + 0x74]
or esi, ebp
mov ebp, eax
shl ebp, 0x1f
shr eax, 1
shr edx, 1
or eax, 0x80000000
mov edi, dword [esp + 0x3c]
or edx, ebp
mov ebp, dword [esp + 0x50]
inc edi
sub ebp, ecx
jl 0x46b31f
jmp 0x46b669
xor eax, eax
mov edx, dword [esp + 0x50]
sub edx, eax
jge 0x46b0bc
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], esi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov dword [ecx + 4], edi
mov dword [ecx], 0
add esp, 0x98
pop ebp
pop ebx
pop edi
pop esi
ret
xor ecx, ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], ebx
mov ebx, eax
push ebx
push dword [esp + 0x70]
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.0047af10
mov dword [esp + 8], edx
mov edx, dword [esp + 0x58]
mov dword [esp], eax
cmp dword [esp + 0x38], 0x1f
mov esi, dword [edx + 8]
mov dword [esp + 0x14], esi
mov eax, dword [edx + 0xc]
mov esi, dword [edx]
mov edx, dword [edx + 4]
ja 0x46b39b
mov ebp, edx
mov ecx, dword [esp + 0x38]
shrd esi, edx, cl
shr ebp, cl
jmp 0x46b3a5
mov esi, edx
xor ebp, ebp
mov ecx, dword [esp + 0x38]
shr esi, cl
neg ecx
add ecx, 0x40
cmp ecx, 0x1f
ja 0x46b3c0
mov edi, eax
mov edx, dword [esp + 0x14]
shld edi, edx, cl
mov dword [esp + 0x28], edi
shl edx, cl
jmp 0x46b3cc
mov edi, dword [esp + 0x14]
xor edx, edx
shl edi, cl
mov dword [esp + 0x28], edi
or ebp, dword [esp + 0x28]
or esi, edx
cmp dword [esp + 0x38], 0x1f
ja 0x46b3f0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
shrd edx, eax, cl
shr eax, cl
mov dword [esp + 0x14], edx
mov dword [esp + 4], eax
jmp 0x46b402
mov ecx, dword [esp + 0x38]
shr eax, cl
mov dword [esp + 4], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
mul ecx
mov eax, ecx
mov edi, edx
mul dword [esp + 0x44]
add edi, eax
mov ecx, edx
mov eax, dword [esp + 0x40]
adc ecx, 0
mul ebx
add eax, edi
adc edx, ecx
sub eax, edi
mov dword [esp + 0x1c], edx
sbb edx, ecx
jae 0x46b436
mov edi, 1
jmp 0x46b438
xor edi, edi
mov eax, dword [esp + 0x44]
mul ebx
add edi, edx
add eax, dword [esp + 0x1c]
mov edx, dword [esp]
adc edi, 0
add esi, edx
mov dword [esp + 0x24], eax
mov eax, esi
mov ecx, dword [esp + 8]
adc ebp, ecx
sub eax, edx
mov edx, ebp
sbb edx, ecx
jae 0x46b46a
mov dword [esp + 0xc], 1
jmp 0x46b470
xor edx, edx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
mul ecx
mov eax, ecx
mov dword [esp + 0x2c], ebp
mov ebp, edx
mul dword [esp + 0x4c]
add dword [esp + 0x54], 0xffffffff
mov ecx, edx
adc dword [esp + 0x50], 0xffffffff
add ebp, eax
mov eax, dword [esp + 0x48]
adc ecx, 0
mul dword [esp + 0x5c]
add eax, ebp
adc edx, ecx
sub eax, ebp
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0x2c]
sbb edx, ecx
jae 0x46b4b8
mov ecx, 1
jmp 0x46b4ba
xor ecx, ecx
mov eax, dword [esp + 0x5c]
mul dword [esp + 0x4c]
add ecx, edx
add eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
adc ecx, 0
add esi, edx
mov dword [esp + 0x20], eax
mov eax, esi
adc ebp, edi
sub eax, edx
mov edx, ebp
sbb edx, edi
jae 0x46b4e8
mov edx, 1
jmp 0x46b4ea
xor edx, edx
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x38]
add dword [esp + 0xc], edx
add ebp, dword [esp + 0x94]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], ebp
adc edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x6c]
mov eax, ebp
mov dword [esp + 0x34], edx
mul dword [esp + 0x48]
mov eax, ebp
mov edi, edx
mul dword [esp + 0x4c]
add edi, eax
mov ebp, edx
mov eax, dword [esp + 0x48]
adc ebp, 0
mul ebx
add eax, edi
adc edx, ebp
sub eax, edi
mov dword [esp + 0x18], edx
sbb edx, ebp
mov ebp, dword [esp + 0x2c]
jae 0x46b548
mov edi, 1
jmp 0x46b54a
xor edi, edi
mov eax, dword [esp + 0x4c]
mul ebx
add edi, edx
add eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
adc edi, 0
add esi, ebx
mov dword [esp + 0x60], esi
adc ebp, ecx
sub esi, ebx
mov dword [esp + 0x5c], ebp
sbb ebp, ecx
jae 0x46b576
mov edx, 1
jmp 0x46b578
xor edx, edx
mov ecx, dword [esp + 0xc]
xor ebp, ebp
add ecx, edx
mov edx, dword [esp + 0x14]
add edx, ecx
mov ebx, dword [esp + 4]
adc ebx, 0
mov dword [esp + 0x14], edx
sub edx, ecx
mov dword [esp + 4], ebx
sbb ebx, ebp
jae 0x46b5a2
mov edx, 1
jmp 0x46b5a4
xor edx, edx
mov ecx, eax
mov ebx, dword [esp + 0x58]
add ebx, 0x10
add ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
mov ebx, edi
adc ebx, dword [esp + 4]
mov dword [esp + 0x6c], ecx
sub ecx, eax
mov ebp, ebx
sbb ebp, edi
jae 0x46b5ce
mov ecx, 1
jmp 0x46b5d0
xor ecx, ecx
add edx, ecx
xor ecx, ecx
or edx, ecx
je 0x46b621
mov esi, dword [esp + 0x5c]
mov edx, esi
mov ecx, dword [esp + 0x60]
mov edi, ebx
shl edx, 0x1f
shr ecx, 1
or ecx, edx
mov edx, dword [esp + 0x6c]
mov ebp, edx
add dword [esp + 0x38], 1
mov dword [esp + 0x60], ecx
adc dword [esp + 0x34], 0
shr esi, 1
shl ebp, 0x1f
shl edi, 0x1f
or esi, ebp
shr edx, 1
shr ebx, 1
or edx, edi
inc dword [esp + 0x3c]
or ebx, 0x80000000
mov dword [esp + 0x5c], esi
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x38]
or edx, dword [esp + 0x34]
je 0x46b650
xor edx, edx
mov ecx, dword [esp + 0x50]
sub ecx, edx
jge 0x46b35b
mov edi, dword [esp + 0x3c]
mov eax, ebx
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
jmp 0x46b31f
mov edi, dword [esp + 0x3c]
mov eax, ebx
mov edx, dword [esp + 0x6c]
xor ecx, ecx
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
jmp 0x46b09c
mov dword [esp + 0x34], ecx
mov ebp, 1
jmp 0x46b345
xor edx, edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x58], edi
mov esi, dword [esp + 0x5c]
jmp 0x46af1c