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

Disassembly:
sub esp, 0x470
mov eax, dword [0x4881810]
xor eax, esp
mov dword [esp + 0x46c], eax
push ebx
push ebp
push esi
push edi
mov edi, 8
mov ebx, 2
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
call fcn.100316a0
cmp dword [0x48864e4], 0
je 0x1002fdea
push 0x4881bec
push 0x3ea
call fcn.100341f0
add esp, 8
mov eax, dword [0x498d090]
cmp eax, 1
jne 0x1002fdf9
lea ebx, [eax + 0xf]
jmp 0x1002fe03
cmp eax, 9
jne 0x1002fe0d
mov ebx, 6
mov edi, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
mov eax, ebx
imul eax, edi
push 0x500
push eax
call fcn.100376e0
mov esi, eax
add esp, 8
test esi, esi
jne 0x1002fe4f
push 0x4881c04
push dword [0x498d548]
push 0x4885094
push 0x3ea
call fcn.100341f0
push 1
push 0x494ae60
call fcn.10034ff0
add esp, 0x18
xor ebp, ebp
mov dword [esp + 0x10], ebp
test edi, edi
jle 0x10030361
lea ecx, [ecx]
xor edx, edx
mov dword [esp + 0x14], edx
test ebx, ebx
jle 0x10030354
mov eax, ebp
and eax, 7
add eax, eax
mov dword [esp + 0x2c], eax
mov eax, ebp
shl eax, 4
mov dword [esp + 0x38], eax
mov edi, dword [0x498d090]
add eax, edx
mov ecx, 0x4879778
mov dword [esp + 0x20], 0x40
mov dword [esp + eax*4 + 0x7c], esi
mov eax, edx
and eax, 1
mov dword [esp + 0x48], eax
jmp 0x1002feb8
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
movsx eax, byte [ecx]
movsx ebx, byte [ecx + 1]
mov dword [esp + 0x24], eax
movsx eax, byte [ecx + 2]
mov dword [esp + 0x1c], eax
movsx eax, byte [ecx + 3]
mov dword [esp + 0x18], eax
movsx eax, byte [ecx + 4]
mov dword [esp + 0x44], eax
movsx eax, byte [ecx + 5]
add ecx, 6
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
add eax, ebp
add ebx, edx
mov dword [esp + 0x40], ecx
cmp edi, 1
jne 0x1002ff1f
movzx ecx, word [0x498d082]
add ecx, eax
movzx eax, word [0x498d080]
and ecx, 0xf
add eax, ebx
add ecx, ecx
and eax, 0xf
movsx ebp, byte [eax + ecx*8 + 0x4880508]
jmp 0x1002ff58
cmp edi, 9
jne 0x1002ff46
add eax, 6
mov ebp, 6
cdq
idiv ebp
lea eax, [ebx + 6]
lea ecx, [edx + edx*2]
cdq
idiv ebp
movsx ebp, byte [edx + ecx*2 + 0x498d520]
mov edx, dword [esp + 0x14]
jmp 0x1002ff58
and eax, 7
and ebx, 1
mov ebp, edi
lea ecx, [ebx + eax*2]
add ecx, ecx
shr ebp, cl
and ebp, 3
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
add ebx, edx
add eax, dword [esp + 0x1c]
cmp edi, 1
jne 0x1002ff8f
movzx ecx, word [0x498d082]
add ecx, eax
movzx eax, word [0x498d080]
and ecx, 0xf
add eax, ebx
add ecx, ecx
and eax, 0xf
movsx eax, byte [eax + ecx*8 + 0x4880508]
jmp 0x1002ffcd
cmp edi, 9
jne 0x1002ffbb
add eax, 6
mov ecx, 6
cdq
idiv ecx
lea eax, [ebx + 6]
mov ebx, 6
lea ecx, [edx + edx*2]
cdq
idiv ebx
movsx eax, byte [edx + ecx*2 + 0x498d520]
mov edx, dword [esp + 0x14]
jmp 0x1002ffcd
and eax, 7
and ebx, 1
lea ecx, [ebx + eax*2]
mov eax, edi
add ecx, ecx
shr eax, cl
and eax, 3
cmp eax, ebp
jne 0x100301a1
lea ebx, [edx + 1]
cmp edi, 1
jne 0x10030003
movzx ecx, word [0x498d082]
add ecx, dword [esp + 0x10]
movzx eax, word [0x498d080]
and ecx, 0xf
add eax, ebx
add ecx, ecx
and eax, 0xf
movsx eax, byte [eax + ecx*8 + 0x4880508]
jmp 0x10030045
cmp edi, 9
jne 0x10030033
mov eax, dword [esp + 0x10]
mov ecx, 6
add eax, 6
cdq
idiv ecx
lea eax, [ebx + 6]
mov ebx, 6
lea ecx, [edx + edx*2]
cdq
idiv ebx
movsx eax, byte [edx + ecx*2 + 0x498d520]
mov edx, dword [esp + 0x14]
jmp 0x1003004a
and ebx, 1
mov eax, edi
add ebx, dword [esp + 0x2c]
add ebx, ebx
mov ecx, ebx
shr eax, cl
and eax, 3
mov ebx, 6
cmp eax, ebp
jne 0x100300ba
mov eax, dword [esp + 0x10]
inc eax
cmp edi, 1
jne 0x1003007c
movzx ecx, word [0x498d082]
add ecx, eax
movzx eax, word [0x498d080]
and ecx, 0xf
add eax, edx
add ecx, ecx
and eax, 0xf
movsx eax, byte [eax + ecx*8 + 0x4880508]
jmp 0x100300b1
cmp edi, 9
jne 0x1003009e
add eax, 6
cdq
idiv ebx
mov eax, dword [esp + 0x14]
lea eax, [eax + 6]
lea ecx, [edx + edx*2]
cdq
idiv ebx
movsx eax, byte [edx + ecx*2 + 0x498d520]
jmp 0x100300b1
mov ecx, dword [esp + 0x48]
and eax, 7
lea ecx, [ecx + eax*2]
mov eax, edi
add ecx, ecx
shr eax, cl
and eax, 3
mov ecx, 2
cmp eax, ebp
je 0x100300bf
mov ecx, 1
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jne 0x100300e7
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x18]
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
je 0x100301a1
movzx eax, word [0x498d084]
imul eax, dword [esp + 0x24]
add eax, dword [esp + 0x28]
lea eax, [eax*4]
add eax, ebp
mov dword [esi], eax
movzx eax, word [0x498d084]
imul eax, ebx
add eax, dword [esp + 0x18]
lea eax, [eax*4]
add eax, ebp
mov dword [esi + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esi + 8], eax
add esi, 0xc
mov eax, dword [esp + 0x3c]
test al, 1
je 0x10030137
mov dword [esi], 0
add esi, 4
test al, 2
je 0x10030144
mov dword [esi], 1
add esi, 4
test al, 4
je 0x10030151
mov dword [esi], 2
add esi, 4
test al, 8
je 0x1003015e
mov dword [esi], 3
add esi, 4
test al, 0x10
je 0x1003016b
mov dword [esi], 4
add esi, 4
test al, 0x20
je 0x10030178
mov dword [esi], 5
add esi, 4
test al, 0x40
je 0x10030185
mov dword [esi], 6
add esi, 4
test al, al
jns 0x10030192
mov dword [esi], 7
add esi, 4
mov dword [esi], 0xffffffff
add esi, 4
mov edi, dword [0x498d090]
dec dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
jne 0x1002feb0
mov dword [esi], 0x7fffffff
mov ebp, 0x48798f8
add esi, 4
mov dword [esp + 0x18], 8
jmp 0x100301d0
movsx edi, byte [ebp]
movzx eax, word [0x498d084]
movsx ebx, byte [ebp + 1]
add ebp, 2
push dword [esp + 0x14]
imul eax, edi
push dword [esp + 0x14]
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebx
add eax, ebx
shl eax, 2
mov dword [esi], eax
call fcn.1000e9a0
mov edx, dword [esp + 0x18]
add esp, 8
add ebx, dword [esp + 0x14]
add edx, edi
mov edi, dword [0x498d090]
mov dword [esp + 0x28], eax
cmp edi, 1
jne 0x10030241
movzx ecx, word [0x498d082]
movzx eax, word [0x498d080]
add ecx, edx
and ecx, 0xf
add eax, ebx
add ecx, ecx
and eax, 0xf
movsx eax, byte [eax + ecx*8 + 0x4880508]
jmp 0x1003027b
cmp edi, 9
jne 0x10030269
lea eax, [edx + 6]
mov ecx, 6
cdq
idiv ecx
lea eax, [ebx + 6]
mov ebx, 6
lea ecx, [edx + edx*2]
cdq
idiv ebx
movsx eax, byte [edx + ecx*2 + 0x498d520]
jmp 0x1003027b
and edx, 7
and ebx, 1
mov eax, edi
lea ecx, [ebx + edx*2]
add ecx, ecx
shr eax, cl
and eax, 3
cmp eax, dword [esp + 0x28]
je 0x10030319
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
lea ebx, [edx + eax*2]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
lea eax, [eax + edx*2]
cmp edi, 1
jne 0x100302c4
movzx ecx, word [0x498d082]
add ecx, eax
movzx eax, word [0x498d080]
and ecx, 0xf
add eax, ebx
add ecx, ecx
and eax, 0xf
movsx edi, byte [eax + ecx*8 + 0x4880508]
jmp 0x100302fb
cmp edi, 9
jne 0x100302eb
add eax, 6
mov edi, 6
cdq
idiv edi
lea eax, [ebx + 6]
lea ecx, [edx + edx*2]
cdq
idiv edi
movsx edi, byte [edx + ecx*2 + 0x498d520]
mov edx, dword [esp + 0x20]
jmp 0x100302fb
and eax, 7
and ebx, 1
lea ecx, [ebx + eax*2]
add ecx, ecx
shr edi, cl
and edi, 3
mov ecx, dword [esp + 0x28]
cmp edi, ecx
jne 0x10030319
movzx eax, word [0x498d084]
imul eax, edx
add eax, dword [esp + 0x1c]
lea eax, [ecx + eax*8]
mov dword [esi + 4], eax
jmp 0x10030320
mov dword [esi + 4], 0
add esi, 8
dec dword [esp + 0x18]
jne 0x100301d0
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
inc edx
mov eax, dword [esp + 0x38]
mov dword [0x49009bc], ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x14], edx
cmp edx, ebx
jl 0x1002fe82
mov edi, dword [esp + 0x30]
inc ebp
mov dword [esp + 0x10], ebp
cmp ebp, edi
jl 0x1002fe60
movzx eax, word [0x498d084]
push 8
lea eax, [eax + eax*2]
push eax
call fcn.100376e0
mov ebx, eax
add esp, 8
mov dword [esp + 0x3c], ebx
test ebx, ebx
jne 0x100303a9
push 0x4881cf4
push dword [0x498d548]
push 0x4885094
push 0x3ea
call fcn.100341f0
push 1
push 0x494ae60
call fcn.10034ff0
add esp, 0x18
movzx esi, word [0x498d084]
mov ebp, 2
mov edi, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x28], edi
lea eax, [ebx + esi*8]
shl esi, 4
mov dword [esp + 0x1c], eax
add esi, ebx
movzx eax, word [0x498d086]
sub eax, ebp
mov dword [esp + 0x2c], esi
cmp eax, ebp
jle 0x10030724
movzx ecx, word [0x498d084]
mov ebx, 2
mov dword [esp + 0x14], ebx
lea eax, [ecx - 2]
cmp eax, ebx
jle 0x100306c3
mov eax, ebp
and eax, 7
add eax, eax
mov dword [esp + 0x40], eax
mov eax, ebp
cdq
idiv dword [esp + 0x30]
mov eax, edx
shl eax, 4
mov dword [esp + 0x38], eax
lea eax, [esi + 0x10]
mov dword [esp + 0x24], eax
lea ecx, [ecx]
mov eax, dword [0x498d06c]
imul ecx, ebp
xor ebp, ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
add ecx, ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
lea edi, [eax + ecx*8]
mov eax, ebx
cdq
mov ebx, ebp
idiv dword [esp + 0x34]
mov dword [esp + 0x54], ebx
add edx, dword [esp + 0x38]
mov esi, dword [esp + edx*4 + 0x7c]
mov edx, ebp
mov dword [esp + 0x50], edx
mov ecx, dword [esi]
cmp ecx, 0x7fffffff
je 0x100304d7
lea esp, [esp]
mov eax, dword [esi + 4]
movzx ecx, word [edi + ecx*2]
movzx eax, word [edi + eax*2]
sub ecx, eax
mov eax, ecx
sar eax, 0x1f
mov edx, eax
xor edx, ecx
mov ecx, dword [esi + 8]
sub edx, eax
mov eax, dword [esi + 0xc]
add esi, 0x14
shl edx, cl
add dword [esp + eax*4 + 0x4c], edx
mov eax, dword [esi - 4]
cmp eax, 0xffffffff
je 0x100304c1
add dword [esp + eax*4 + 0x4c], edx
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x100304be
lea ebx, [ebx]
add dword [esp + eax*4 + 0x4c], edx
add esi, 4
mov eax, dword [esi]
cmp eax, 0xffffffff
jne 0x100304b0
add esi, 4
mov ecx, dword [esi]
cmp ecx, 0x7fffffff
jne 0x10030470
mov ebx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
add esi, 4
mov eax, ebp
cmp ebp, edx
jle 0x100304e2
mov eax, edx
jge 0x100304e6
mov ebp, edx
cmp eax, ebx
jle 0x100304ec
mov eax, ebx
cmp ebp, ebx
jge 0x100304f2
mov ebp, ebx
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jle 0x100304fc
mov eax, ecx
cmp ebp, ecx
jge 0x10030502
mov ebp, ecx
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
jle 0x1003050c
mov eax, ecx
cmp ebp, ecx
jge 0x10030512
mov ebp, ecx
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jle 0x1003051c
mov eax, ecx
cmp ebp, ecx
jge 0x10030522
mov ebp, ecx
mov ecx, dword [esp + 0x64]
cmp eax, ecx
jle 0x1003052c
mov eax, ecx
cmp ebp, ecx
jge 0x10030532
mov ebp, ecx
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jle 0x1003053c
mov eax, ecx
cmp ebp, ecx
jge 0x10030542
mov ebp, ecx
test ebp, ebp
jne 0x10030559
mov ecx, dword [esp + 0x24]
mov eax, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 4]
mov dword [ecx + 4], eax
jmp 0x10030697
sar ebp, 1
add ebp, eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov eax, dword [0x498d090]
cmp eax, 1
jne 0x100305a1
movzx ecx, word [0x498d082]
add ecx, dword [esp + 0x10]
movzx eax, word [0x498d080]
and ecx, 0xf
add eax, dword [esp + 0x14]
add ecx, ecx
and eax, 0xf
movsx ebx, byte [eax + ecx*8 + 0x4880508]
jmp 0x100305e0
cmp eax, 9
jne 0x100305cc
mov eax, dword [esp + 0x10]
mov ebx, 6
add eax, 6
cdq
idiv ebx
mov eax, dword [esp + 0x14]
lea ecx, [edx + edx*2]
lea eax, [eax + 6]
cdq
idiv ebx
movsx ebx, byte [edx + ecx*2 + 0x498d520]
jmp 0x100305e0
mov ecx, dword [esp + 0x14]
mov ebx, eax
and ecx, 1
add ecx, dword [esp + 0x40]
add ecx, ecx
shr ebx, cl
and ebx, 3
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
lea ebx, [ebx]
mov ecx, dword [0x498d08c]
cmp dword [esp + eax*4 + 0x4c], ebp
jg 0x1003063e
xor edx, edx
test ecx, ecx
je 0x1003063a
cmp edx, ebx
jne 0x10030625
mov eax, dword [esi + 4]
test eax, eax
je 0x10030625
movzx ecx, word [edi + eax*2]
movzx eax, word [edi + edx*2]
add ecx, eax
sar ecx, 1
add dword [esp + edx*4 + 0x6c], ecx
mov ecx, dword [0x498d08c]
jmp 0x10030631
mov eax, dword [esi]
add eax, edx
movzx eax, word [edi + eax*2]
add dword [esp + edx*4 + 0x6c], eax
inc edx
cmp edx, ecx
jb 0x10030602
mov eax, dword [esp + 0x20]
inc dword [esp + 0x18]
inc eax
add esi, 8
mov dword [esp + 0x20], eax
cmp eax, 8
jl 0x100305f0
xor esi, esi
test ecx, ecx
je 0x10030697
lea ebp, [edi + ebx*2]
mov edi, dword [esp + 0x24]
movzx ecx, word [ebp]
cmp esi, ebx
je 0x1003066f
mov eax, dword [esp + esi*4 + 0x6c]
sub eax, dword [esp + ebx*4 + 0x6c]
cdq
idiv dword [esp + 0x18]
add ecx, eax
cmp ecx, 0xffff
jge 0x10030683
xor eax, eax
test ecx, ecx
sets al
dec eax
and eax, ecx
jmp 0x10030688
mov eax, 0xffff
mov word [edi], ax
inc esi
add edi, 2
cmp esi, dword [0x498d08c]
jb 0x10030658
movzx ecx, word [0x498d084]
mov ebx, dword [esp + 0x14]
add dword [esp + 0x24], 8
inc ebx
mov ebp, dword [esp + 0x10]
lea eax, [ecx - 2]
mov dword [esp + 0x14], ebx
cmp ebx, eax
jl 0x10030420
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
cmp ebp, 3
jle 0x100306f5
movzx edx, word [0x498d084]
lea ecx, [ebp - 2]
imul ecx, edx
lea eax, [edx*8 - 0x20]
push eax
lea eax, [edi + 0x10]
push eax
mov eax, dword [0x498d06c]
lea eax, [eax + ecx*8]
add eax, 0x10
push eax
call fcn.10003cdd
add esp, 0xc
mov eax, edi
inc ebp
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov esi, eax
movzx eax, word [0x498d086]
sub eax, 2
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ebp
cmp ebp, eax
jl 0x100303e0
mov ebx, dword [esp + 0x3c]
movzx edx, word [0x498d084]
lea ecx, [ebp - 2]
imul ecx, edx
lea eax, [edx*8 - 0x20]
push eax
lea eax, [edi + 0x10]
push eax
mov eax, dword [0x498d06c]
lea eax, [eax + ecx*8]
add eax, 0x10
push eax
call fcn.10003cdd
movzx edx, word [0x498d084]
lea ecx, [ebp - 1]
imul ecx, edx
lea eax, [edx*8 - 0x20]
push eax
mov eax, dword [esp + 0x2c]
add eax, 0x10
push eax
mov eax, dword [0x498d06c]
lea eax, [eax + ecx*8]
add eax, 0x10
push eax
call fcn.10003cdd
push ebx
call fcn.10037780
push dword [esp + 0x98]
call fcn.10037780
mov ecx, dword [esp + 0x49c]
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10007d50
add esp, 0x470
ret
movzx eax, word [0x498d086]
push 0xffff
push dword [0x498d08c]
push dword [0x498d090]
push eax
movzx eax, word [0x498d084]
push eax
push dword [0x498d06c]
call fcn.10030f90
add esp, 0x18
test eax, eax
je 0x1002fda0
ret