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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x10], ebp
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, esp
mov dword [esi + 0x84], eax
mov dword [esi + 0x90], 0xffffffff
lea eax, [esi + 0x88]
mov dword [esi + 0x8c], 0x100968f0
mov ecx, dword fs:[0]
mov dword [esi + 0x88], ecx
mov dword fs:[0], eax
mov dword [esi + 0x80], 0
mov ecx, dword [ebp + 0xc]
mov eax, esp
mov dword [eax], ecx
call fcn.1002fdc0
mov dword [esi + 0x78], eax
mov dword [esi + 0x7c], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.1007eb20
sub eax, 1
sbb edx, 0
jl 0x10064215
jmp 0x100641ef
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call fcn.1007eb20
mov edi, eax
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x7c]
sub ecx, edi
sbb eax, edx
jl 0x10064278
jmp 0x10064215
mov eax, dword [0x10280624]
xor ecx, ecx
sub ecx, dword [0x10280628]
sub eax, ecx
mov ecx, eax
xor ecx, 0xcfd30eeb
xor ecx, 0xffffffff
or eax, 0xcfd30eeb
and eax, ecx
imul ecx, eax, 0x6670b9e7
mov eax, ecx
xor eax, 0xffffffff
or eax, 0xd898e52d
xor ecx, 0xffffffff
or ecx, 0xd898e52d
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x67761583
jae 0x10064215
mov dword [esi + 0x90], 0xffffffff
xor eax, eax
mov ecx, eax
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], eax
jmp 0x10064351
mov ecx, dword [0x1028062c]
mov edx, dword [0x10280630]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
imul eax, eax, 0xd19b341f
and eax, 0xc267d2c5
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x68af4beb
add eax, ecx
cmp eax, 0xf99033f5
ja 0x10064cfb
mov eax, dword [0x10280634]
mov ecx, dword [0x10280638]
sub eax, ecx
mov ecx, eax
and ecx, 0x5ef9ef5e
add ecx, ecx
neg ecx
lea eax, [eax + ecx - 0x210610a2]
or eax, 0x369b5193
add eax, 0x26ee51ef
mov dword [esi + 0x54], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.1007eb20
mov edi, eax
mov ecx, edx
mov eax, dword [esi + 0x78]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x4c], eax
mov ebx, edi
not ebx
mov edx, ecx
not edx
and edx, eax
mov eax, dword [esi + 0x48]
and ebx, eax
not eax
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x4c]
not eax
and ecx, eax
mov eax, dword [esi + 0x50]
and edi, eax
mov eax, dword [esi + 0x54]
sub edi, ebx
mov dword [esi + 0x58], edi
sbb ecx, edx
mov dword [esi + 0x5c], ecx
cmp eax, 0xe6bcb6b9
ja 0x10064cfb
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
mov dword [esi + 0x90], 0xffffffff
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], eax
jmp 0x10064351
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x64]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], eax
mov eax, dword [ebp + 8]
lea ecx, [esi + 0x68]
mov dword [esp], eax
call fcn.1004a580
sub esp, 4
lea ecx, [esi + 0x68]
call fcn.1004aa80
mov byte [esi + 0x47], al
mov eax, dword [0x1028063c]
xor edx, edx
div dword [0x10280640]
mov edx, eax
add edx, 0xe402abe0
mov ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0x8abdd53c
and edx, 0x75422ac3
or eax, edx
xor eax, 0x7335ede1
or ecx, 0x677c722
xor ecx, 0xffffffff
or eax, ecx
or eax, 0xbb5637
cmp eax, 0x62b1ebd9
jbe 0x10064d0d
mov ecx, dword [0x10280644]
mov edx, dword [0x10280648]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x685208c2
xor edx, edx
div ecx
sub eax, 0xa5127abf
sub eax, 0x5fcab371
cmp eax, 0xb1842d7d
jb 0x100643c2
mov al, byte [esi + 0x47]
test al, 1
jne 0x10064496
jmp 0x10064405
mov eax, dword [0x1028064c]
add eax, dword [0x10280650]
or eax, 0xb45a5cd2
mov ecx, 0x67501524
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
or eax, 0x3ee7f2b7
cmp eax, 0xe770aa90
ja 0x10064d12
mov eax, dword [0x10280654]
xor edx, edx
div dword [0x10280658]
mov ecx, 0xf59a257c
xor edx, edx
div ecx
and eax, 0xd3b048bd
add eax, 0x60565e3
add eax, 1
mov ecx, dword [esi + 0x80]
mov edx, ecx
and edx, 4
xor edx, 0xffffffff
add ecx, 4
add ecx, 1
add ecx, edx
mov dword [esi + 0x80], ecx
cmp eax, 0xd698499d
jae 0x1006443d
mov dword [esi + 0x90], 0
jmp 0x10064c53
jmp 0x1006449b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.1004a3a0
mov ecx, eax
mov eax, ecx
xor eax, 0xfffffe3f
and eax, ecx
cmp eax, 0x40
je 0x10064769
mov ecx, dword [0x1028067c]
mov edx, dword [0x10280680]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
and ecx, 0x196f52ff
or eax, 0x196f52ff
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
or eax, 0xf0ae02fb
xor eax, 0xffffffff
xor ecx, 0xffffffff
and ecx, 0xf0ae02fb
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0xd7a37816
cmp eax, 0xcb97e9e0
jbe 0x10064d26
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
sub ecx, 1
sbb eax, 0
jl 0x100646f7
jmp 0x1006452b
mov eax, dword [0x1028068c]
xor ecx, ecx
sub ecx, dword [0x10280690]
sub eax, ecx
add eax, 0x4c74f26a
or eax, 0xc826c487
imul eax, eax, 0x5a1b79f1
cmp eax, 0x2c3ddebc
jb 0x10064d2b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10047fe0
mov dword [esi + 0x3c], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.1007ef70
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x90], 1
movsx edx, al
mov eax, esp
mov dword [eax], edx
call fcn.1007ec50
sub esp, 4
mov dword [esi + 0x40], eax
jmp 0x1006459a
mov ecx, dword [0x1028069c]
mov edx, dword [0x102806a0]
mov edi, ecx
xor edi, 0xffffffff
mov eax, edx
and eax, edi
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
imul eax, eax, 0x58ed390f
imul eax, eax, 0x527c2a4a
mov ecx, eax
xor ecx, 0xc59ac677
xor ecx, 0xffffffff
and ecx, 0xc59ac677
shl ecx, 1
sub ecx, 0xc59ac677
sub eax, ecx
cmp eax, 0x7a0de421
jb 0x10064d56
mov ecx, dword [0x102806a4]
xor eax, eax
sub eax, dword [0x102806a8]
add ecx, eax
mov edx, ecx
and edx, 0x62598bc0
mov eax, ecx
or eax, 0x62598bc0
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x9da6743f
or ecx, 0x9da6743f
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or eax, 0xbc202cd6
and ecx, 0xbc202cd6
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
add eax, 0x482802fe
mov dword [esi + 0x34], eax
call fcn.10028820
mov ecx, eax
mov eax, dword [esi + 0x40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10028a00
mov cl, al
mov eax, dword [esi + 0x34]
mov byte [esi + 0x3b], cl
cmp eax, 0xc25f5506
je 0x10064d56
mov al, byte [esi + 0x3b]
test al, 1
jne 0x10064683
jmp 0x100646e0
mov eax, dword [0x102806b4]
or eax, dword [0x102806b8]
imul eax, eax, 0xa82c8255
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd6429b3b
mov ecx, eax
and ecx, 0x29bd64c4
imul ecx, edx
mov edx, eax
and edx, 0xd6429b3b
or eax, 0xd6429b3b
imul eax, edx
add eax, ecx
sub eax, 0xf192fa02
mov ecx, dword [esi + 0x80]
or ecx, 4
mov dword [esi + 0x80], ecx
cmp eax, 0xbe7d15d8
jb 0x10064d71
jmp 0x100646f7
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
add ecx, 0xffffffff
adc eax, 0xffffffff
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], eax
jmp 0x100644bc
mov eax, dword [0x102806dc]
mov ecx, dword [0x102806e0]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
sub eax, 0x630bbea4
and eax, 0xfef5ad8f
or eax, 0x5f3f47f9
cmp eax, 0x9ee0e2c2
jbe 0x10064d85
mov eax, dword [0x102806e4]
sub eax, dword [0x102806e8]
mov ecx, eax
and ecx, 0x91f30bc9
shl ecx, 1
add eax, 0x91f30bc9
sub eax, ecx
sub eax, 0xce0526dd
mov ecx, eax
and ecx, 0xcf3252ec
mov edx, eax
xor edx, 0x30cdad13
add eax, edx
sub eax, ecx
cmp eax, 0xc52179f7
ja 0x10064d85
jmp 0x10064769
mov eax, dword [0x102806ec]
add eax, dword [0x102806f0]
add eax, 0x248b5f39
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc2f6511
and eax, 0xf3d09aee
or ecx, eax
mov eax, ecx
and eax, 0x97c4eeb0
xor eax, 0xffffffff
and ecx, 0x97c4eeb0
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x4a6ad72d
jbe 0x10064d8a
cmp dword [esi + 0x80], 0
jne 0x100648dc
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10047fe0
mov ecx, eax
mov edi, dword [esi + 0x78]
mov ebx, dword [esi + 0x7c]
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x90], 1
mov eax, esp
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
mov dword [eax], edx
call fcn.1007ef90
sub esp, 0xc
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], eax
jmp 0x100647fc
mov eax, dword [0x102806fc]
mov edx, dword [0x10280700]
mov edi, eax
xor edi, 0xffffffff
mov ecx, edx
and ecx, edi
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, ecx
or eax, 0x2bf568cb
and ecx, 0x2bf568cb
xor eax, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
or eax, 0xca85fdc
xor eax, 0xffffffff
add eax, 0xe444d1ed
cmp eax, 0x391f2a0d
jbe 0x10064d8f
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
mov edi, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
xor eax, edi
xor ecx, edx
or eax, ecx
je 0x100648dc
jmp 0x10064861
mov eax, dword [0x1028070c]
mov ecx, dword [0x10280710]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
sub eax, 0xf2a13854
mov ecx, 0x9b80fd59
xor edx, edx
div ecx
imul eax, eax, 0xe4fa76eb
cmp eax, 0xe0405e31
je 0x10064d94
mov eax, dword [0x10280714]
sub eax, dword [0x10280718]
or eax, 0xe909dbaa
xor eax, 0xdc010e46
sub eax, 0x7d393ddf
mov ecx, dword [esi + 0x80]
mov edx, ecx
and edx, 4
xor edx, 0xffffffff
add ecx, 4
add ecx, 1
add ecx, edx
mov dword [esi + 0x80], ecx
cmp eax, 0x4bfff18f
jbe 0x10064d94
jmp 0x100648dc
mov eax, dword [0x1028071c]
imul eax, dword [0x10280720]
xor eax, 0x62b2d9b9
or eax, 0x71f6c894
sub eax, 0xa805b92b
cmp eax, 0xb7645897
ja 0x10064da8
mov eax, dword [0x10280724]
imul eax, dword [0x10280728]
mov ecx, eax
and ecx, 0x73abff15
shl ecx, 1
xor eax, 0x73abff15
add eax, ecx
sub eax, 0xebb6cca3
mov ecx, eax
xor ecx, 0x79d50652
xor ecx, 0xffffffff
and ecx, 0x79d50652
shl ecx, 1
sub ecx, 0x79d50652
sub eax, ecx
cmp dword [esi + 0x80], 0
sete cl
mov byte [esi + 0x2b], cl
cmp eax, 0xbf560df7
je 0x10064902
mov al, byte [esi + 0x2b]
test al, 1
jne 0x10064967
jmp 0x10064c2f
mov eax, dword [0x10280734]
xor edx, edx
div dword [0x10280738]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x35b67c60
and eax, 0xca49839f
sub eax, ecx
sub eax, 0x9af25bb1
add eax, 0x995fa487
add eax, 1
cmp eax, 0xa23f0307
jbe 0x10064dad
jmp 0x100649a3
mov eax, dword [0x10280744]
mov ecx, dword [0x10280748]
and eax, ecx
xor eax, 0xa5ec087d
add eax, 0x9e62eecc
mov edi, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
xor ecx, ecx
neg edi
sbb ecx, edx
setl cl
mov byte [esi + 0x2a], cl
cmp eax, 0xd4ab3dc1
je 0x10064db2
mov al, byte [esi + 0x2a]
test al, 1
jne 0x100649e7
jmp 0x10064c2f
mov eax, dword [0x1028074c]
sub eax, dword [0x10280750]
and eax, 0x6bb49b4f
imul eax, eax, 0x19230691
sub eax, 0x1bdf58cb
cmp eax, 0xfcdc28fb
je 0x10064db7
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10047fe0
mov dword [esi + 0x20], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.1007ef70
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x90], 1
movsx edx, al
mov eax, esp
mov dword [eax], edx
call fcn.1007ec50
sub esp, 4
mov dword [esi + 0x24], eax
jmp 0x10064aee
mov eax, dword [0x1028076c]
mov edi, dword [0x10280770]
mov ebx, edi
xor ebx, 0xffffffff
mov edx, eax
and edx, ebx
mov ecx, eax
or ecx, ebx
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, edi
or eax, edi
imul eax, edx
add eax, ecx
mov ecx, 0x538ccbb9
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xf151426e
and eax, 0xeaebd91
sub eax, ecx
or eax, 0x52381889
cmp eax, 0xc60cc4c9
ja 0x10064de5
mov dword [esi + 0x90], 0
jmp 0x10064c53
mov eax, dword [0x10280784]
mov edi, dword [0x10280788]
mov edx, edi
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, edi
add eax, edx
sub eax, ecx
xor eax, 0xffffffff
or eax, 0x1fbc8412
mov ecx, eax
xor ecx, 0xffffffff
and eax, 0x24a796cf
and ecx, 0xdb586930
or eax, ecx
mov ecx, eax
and ecx, 0x390f7b1f
shl ecx, 1
add eax, 0x390f7b1f
sub eax, ecx
mov dword [esi + 0x18], eax
call fcn.10028820
mov ecx, eax
mov eax, dword [esi + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10028a00
mov cl, al
mov eax, dword [esi + 0x18]
mov byte [esi + 0x1f], cl
cmp eax, 0x8f0f8988
jb 0x10064dea
mov al, byte [esi + 0x1f]
test al, 1
jne 0x10064b71
jmp 0x10064b85
mov eax, dword [esi + 0x80]
or eax, 4
mov dword [esi + 0x80], eax
jmp 0x10064c2f
mov ecx, dword [0x1028078c]
mov edx, dword [0x10280790]
mov edi, ecx
xor edi, edx
xor edi, 0xffffffff
mov eax, edx
and eax, edi
shl eax, 1
sub eax, edx
sub ecx, eax
mov edx, ecx
and edx, 0x6ad9d694
mov eax, ecx
or eax, 0x6ad9d694
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x9526296b
or ecx, 0x9526296b
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x3132b944
xor eax, 0xffffffff
xor ecx, 0xffffffff
or ecx, 0x3132b944
and eax, ecx
xor eax, 0xffffffff
mov edx, eax
and edx, 0xdbc32127
mov ecx, eax
or ecx, 0xdbc32127
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x243cded8
or eax, 0x243cded8
imul eax, edx
add eax, ecx
cmp eax, 0x991c9396
jae 0x10064e05
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
add ecx, 0xffffffff
adc eax, 0xffffffff
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], eax
jmp 0x100649a3
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 0
call fcn.1007f1c0
sub esp, 8
jmp 0x10064a8b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
mov edx, dword [esi + 0x80]
mov eax, esp
mov dword [eax], edx
mov dword [eax + 4], 0
call fcn.10037270
sub esp, 8
jmp 0x10064c7b
mov ecx, dword [0x102807ac]
or ecx, dword [0x102807b0]
mov eax, ecx
xor eax, 0xffffffff
or eax, 0xd7b5a6c9
or ecx, 0x284a5936
and eax, ecx
mov ecx, 0x1e4f80de
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa16d157f
mov ecx, eax
and ecx, 0x5e92ea80
imul ecx, edx
mov edx, eax
and edx, 0xa16d157f
or eax, 0xa16d157f
imul eax, edx
add eax, ecx
cmp eax, 0xf98bea86
jae 0x10064e0a
mov eax, dword [ebp + 8]
mov dword [esi + 0x14], eax
lea ecx, [esi + 0x68]
call fcn.1004ac70
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x88]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.1007eb20
jmp 0x100642b2
jmp 0x100643c2
mov eax, dword [esi + 0x80]
or eax, 4
mov dword [esi + 0x80], eax
jmp 0x1006443d
jmp 0x10064514
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
call fcn.10047fe0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.1007ef70
mov dword [esi + 0x90], 1
jmp 0x10064555
call fcn.10028820
mov ecx, eax
mov eax, dword [esi + 0x40]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10028a00
jmp 0x100645e8
mov eax, dword [esi + 0x80]
or eax, 4
mov dword [esi + 0x80], eax
jmp 0x10064683
jmp 0x10064724
jmp 0x100647ae
jmp 0x10064844
mov eax, dword [esi + 0x80]
or eax, 4
mov dword [esi + 0x80], eax
jmp 0x10064896
jmp 0x10064902
jmp 0x10064967
jmp 0x100649a3
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10047fe0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.1007ef70
mov dword [esi + 0x90], 1
jmp 0x10064a0d
jmp 0x10064adf
call fcn.10028820
mov ecx, eax
mov eax, dword [esi + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10028a00
jmp 0x10064aee
jmp 0x10064c18
lea ecx, [esi + 0x68]
call fcn.1004ac70
jmp 0x10064cd5