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

Disassembly:
mov eax, 0x7118
call fcn.102244a0
mov eax, dword [esp + 0x7120]
push ebx
xor ebx, ebx
push ebp
mov dword [eax], ebx
mov ecx, dword [0x107ab964]
mov eax, dword [esp + 0x7124]
push esi
mov edx, dword [ecx]
push edi
push ebx
push 0x8002
push eax
call dword [edx + 4]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0x80], esi
je 0x10039b0c
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x20]
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x84], ebp
jg 0x10039076
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7118
ret
mov edx, dword [0x107ab964]
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0xc8]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc8]
push ecx
push esi
push edx
call fcn.1000fc50
add esp, 0xc
test eax, eax
jne 0x100390bb
mov ecx, dword [0x107ab964]
push esi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7118
ret
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0xa0]
lea edx, [esp + 0xa0]
rep stosd dword es:[edi], eax
xor ecx, ecx
lea eax, [esp + 0x94]
mov dword [esp + 0x94], ecx
push edx
mov dword [esp + 0x9c], ecx
push eax
mov byte [esp + 0xa4], cl
mov ecx, dword [0x107ab964]
push esi
push ecx
call fcn.10010a00
add esp, 0x10
test eax, eax
je 0x10039b00
mov eax, dword [esp + 0xd8]
mov ecx, dword [0x107ab964]
push eax
push esi
push ecx
call fcn.1000fe50
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x90], eax
jle 0x10039b00
cmp ebp, eax
jle 0x10039b00
lea edx, [esp + 0x54]
push 1
lea ecx, [esp + 0x12c]
push edx
mov edx, dword [0x107ab964]
push ecx
push 0x1000
push 0x200
push eax
push ebp
push esi
push edx
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x100390a2
cmp dword [esp + 0x54], 0x200
jne 0x100390a2
mov ecx, 0x1800
xor eax, eax
lea edi, [esp + 0x1128]
push ebx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x112c]
push 0x100
push eax
lea ecx, [esp + 0x134]
push 0x200
push ecx
call fcn.10024c10
add esp, 0x14
cmp eax, 0x10
jle 0x10039b00
dec eax
mov byte [esp + 0x13], 0
cmp eax, 3
mov dword [esp + 0x44], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], 3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x8c], eax
jle 0x10039ae0
lea edx, [esp + 0x127e]
lea ecx, [esp + 0x128b]
mov dword [esp + 0x18], edx
lea edx, [esp + 0x12ce]
mov dword [esp + 0x24], edx
lea edx, [esp + 0x12d6]
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x12c9]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x12b0]
mov dword [esp + 0x78], edx
lea edx, [esp + 0x12b8]
mov dword [esp + 0x7c], edx
lea edx, [esp + 0x1163]
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x115e]
mov dword [esp + 0x34], edx
lea edx, [esp + 0x114e]
mov dword [esp + 0x30], edx
lea edx, [esp + 0x1156]
mov dword [esp + 0x68], edx
lea edx, [esp + 0x1149]
mov dword [esp + 0x70], edx
lea edx, [esp + 0x1130]
mov dword [esp + 0x60], edx
lea edx, [esp + 0x1138]
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x11c3]
mov dword [esp + 0x58], edx
lea edx, [esp + 0x11be]
mov dword [esp + 0x74], edx
lea edx, [esp + 0x11ae]
mov dword [esp + 0x50], edx
lea edx, [esp + 0x11b6]
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x11a9]
mov dword [esp + 0x48], edx
lea edx, [esp + 0x1190]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x1250]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x1198]
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x1283]
lea edi, [esp + 0x1269]
lea esi, [esp + 0x1258]
lea ecx, [esp + 0x1276]
lea ebp, [esp + 0x126e]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x14]
cmp edx, 5
jge 0x10039824
cmp edx, 4
ja case.default.0x10039312
jmp dword [edx*4 + 0x10039b1c]
cmp dword [esi], 0x118
jne case.default.0x10039312
mov edx, dword [esp + 0x1c]
cmp dword [edx], 5
jne case.default.0x10039312
cmp dword [edi], 0x8c
jne case.default.0x10039312
cmp dword [ecx], 0x25
jne case.default.0x10039312
mov ebx, dword [esp + 0x7c]
cmp dword [ebx], 0x13b
jne case.default.0x10039312
mov ebx, dword [esp + 0x78]
cmp dword [ebx], 3
jne case.default.0x10039312
mov ebx, dword [esp + 0x38]
cmp dword [ebx], 0x8d
jne case.default.0x10039312
mov ebx, dword [esp + 0x5c]
cmp dword [ebx], 0x2a
jne case.default.0x10039312
cmp dword [esi - 0x60], 0x118
jne 0x100393bf
cmp dword [edx - 0x60], 7
jne 0x100393bf
cmp dword [edi - 0x60], 0x8d
jne 0x100393bf
cmp dword [ecx - 0x60], 0x2a
jne 0x100393bf
mov ebx, dword [esp + 0x24]
mov dl, byte [ebp - 0x60]
cmp dl, byte [ebx]
jne 0x100393bf
mov edx, dword [esp + 0x18]
cmp dword [edx - 0x60], 0x8f
jne 0x100393bf
mov edx, dword [eax - 0x60]
jmp 0x1003945d
mov ebx, dword [esp + 0x40]
mov edx, 0x60
cmp dword [ebx], 0x118
jne 0x10039413
mov ebx, dword [esp + 0x64]
cmp dword [ebx], 7
jne 0x10039413
mov ebx, dword [esp + 0x48]
cmp dword [ebx], 0x8d
jne 0x10039413
mov ebx, dword [esp + 0x6c]
cmp dword [ebx], 0x2a
jne 0x10039413
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x24]
mov dl, byte [edx]
cmp dl, byte [ebx]
jne 0x1003940e
mov edx, dword [esp + 0x74]
cmp dword [edx], 0x8f
jne 0x1003940e
mov edx, dword [esp + 0x58]
jmp 0x1003945b
mov edx, 0x60
mov ebx, dword [esp + 0x2c]
cmp dword [ebx], 0x118
jne 0x10039471
mov ebx, dword [esp + 0x60]
cmp dword [ebx], 7
jne 0x10039471
mov ebx, dword [esp + 0x70]
cmp dword [ebx], 0x8d
jne 0x10039471
mov ebx, dword [esp + 0x68]
cmp dword [ebx], 0x2a
jne 0x10039471
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
mov dl, byte [edx]
cmp dl, byte [ebx]
jne 0x1003946c
mov edx, dword [esp + 0x34]
cmp dword [edx], 0x8f
jne 0x1003946c
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
imul edx, dword [eax]
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], 1
mov edx, 0x60
mov ebx, dword [esp + 0x4c]
add ebp, edx
inc ebx
add ecx, edx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x7c]
add ebx, edx
add esi, edx
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x78]
add ebx, edx
add edi, edx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x38]
add ebx, edx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x5c]
add ebx, edx
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x40]
add ebx, edx
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x64]
add ebx, edx
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x48]
add ebx, edx
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x6c]
add ebx, edx
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x50]
add ebx, edx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x74]
add ebx, edx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x58]
add ebx, edx
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x24]
add ebx, edx
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x2c]
add ebx, edx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x60]
add ebx, edx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x70]
add ebx, edx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x68]
add ebx, edx
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x30]
add ebx, edx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x34]
add ebx, edx
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x3c]
add ebx, edx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x1c]
add ebx, edx
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x18]
add ebx, edx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x20]
add ebx, edx
add eax, edx
mov dword [esp + 0x20], ebx
jmp case.default.0x10039312
cmp dword [esi], 0x118
jne case.default.0x10039312
mov edx, dword [esp + 0x18]
cmp dword [edx], 0x8c
jne case.default.0x10039312
mov edx, dword [esp + 0x20]
cmp dword [edx], 0x25
jne case.default.0x10039312
cmp dword [edi], 0x8d
jne case.default.0x10039312
cmp dword [ecx], 0x2a
jne case.default.0x10039312
mov dl, byte [ebp]
mov dword [esp + 0x14], 2
mov byte [esp + 0x13], dl
jmp case.default.0x10039312
mov edx, dword [esi]
cmp edx, 0x118
jne case.default.0x10039312
mov ebx, dword [esp + 0x18]
cmp dword [ebx], 0x8c
jne 0x100395fb
mov ebx, dword [esp + 0x20]
cmp dword [ebx], 0x25
jne 0x100395fb
cmp dword [edi], 0x8d
jne 0x100395fb
cmp dword [ecx], 0x2a
jne 0x100395fb
mov dl, byte [ebp]
mov dword [esp + 0x14], 3
mov byte [esp + 0x13], dl
jmp case.default.0x10039312
cmp edx, 0x118
jne case.default.0x10039312
mov edx, dword [esp + 0x1c]
cmp dword [edx], 2
jne case.default.0x10039312
cmp dword [edi], 0x8c
jne case.default.0x10039312
mov edx, dword [esp + 0x20]
cmp dword [edx], 0x25
jne case.default.0x10039312
mov edx, dword [ecx]
mov dword [esp + 0x14], 3
mov dword [esp + 0x88], edx
jmp case.default.0x10039312
test ebx, ebx
je case.default.0x10039312
cmp dword [esi], 6
jne case.default.0x10039312
mov edx, dword [esp + 0x1c]
cmp dword [edx], 7
jne 0x10039691
cmp dword [edi], 0x8d
jne 0x10039691
cmp dword [ecx], 0x2a
jne 0x10039691
mov dl, byte [esp + 0x13]
cmp byte [ebp], dl
jne 0x10039691
mov edx, dword [esp + 0x18]
cmp dword [edx], 0x8f
jne 0x10039691
mov edx, dword [eax]
mov dword [esp + 0x14], 4
add edx, ebx
mov dword [esp + 0x28], edx
jmp case.default.0x10039312
cmp dword [esi], 6
jne case.default.0x10039312
mov edx, dword [esp + 0x1c]
cmp dword [edx], 6
jne case.default.0x10039312
mov edx, dword [esp + 0x88]
cmp dword [ecx], edx
jne case.default.0x10039312
mov edx, dword [esp + 0x18]
cmp dword [edx], 0x8f
jne case.default.0x10039312
mov edx, dword [eax]
add edx, ebx
mov dword [esp + 0x28], edx
jmp 0x100396f8
cmp dword [esi], 0x118
jne case.default.0x10039312
mov edx, dword [esp + 0x1c]
cmp dword [edx], 3
jne case.default.0x10039312
cmp dword [edi], 0x8c
jne case.default.0x10039312
mov edx, dword [esp + 0x18]
cmp dword [edx], 0x8d
jne case.default.0x10039312
mov edx, dword [esp + 0x20]
cmp dword [edx], 0x2a
jne case.default.0x10039312
mov dl, byte [esp + 0x13]
mov bl, byte [eax]
cmp bl, dl
jne case.default.0x10039312
mov dword [esp + 0x14], 5
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x4c]
add ebx, 0x60
inc edx
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x78]
add ebx, 0x60
add ebp, 0x60
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x38]
add ebx, 0x60
add ecx, 0x60
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x5c]
add ebx, 0x60
add esi, 0x60
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x40]
add ebx, 0x60
add edi, 0x60
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x64]
add ebx, 0x60
add eax, 0x60
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x48]
add ebx, 0x60
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x6c]
add ebx, 0x60
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x50]
add ebx, 0x60
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x74]
add ebx, 0x60
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x58]
add ebx, 0x60
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x24]
add ebx, 0x60
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x2c]
add ebx, 0x60
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x60]
add ebx, 0x60
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x70]
add ebx, 0x60
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x68]
add ebx, 0x60
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x30]
add ebx, 0x60
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x34]
add ebx, 0x60
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x3c]
add ebx, 0x60
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x1c]
add ebx, 0x60
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x18]
add ebx, 0x60
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x20]
add ebx, 0x60
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x8c]
cmp edx, ebx
mov ebx, dword [esp + 0x44]
jl 0x100392fc
mov edx, dword [esp + 0x14]
cmp edx, 5
jne 0x10039ae0
mov eax, dword [esp + 0x28]
test eax, eax
jbe 0x10039ae0
mov ecx, dword [esp + 0xe4]
cmp eax, ecx
jbe 0x10039ae0
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x4c]
cmp edx, eax
jge 0x10039ae0
mov al, byte [esp + 0x13]
test al, al
je 0x10039ae0
test ebx, ebx
je 0x10039ae0
mov eax, dword [esp + 0x28]
sub eax, ecx
mov ecx, dword [esp + 0x100]
cmp eax, ecx
mov dword [esp + 0x28], eax
ja 0x10039ae0
mov ecx, dword [esp + 0xac]
cmp eax, ecx
jb 0x10039ae0
mov edx, dword [esp + 0xa8]
add edx, ecx
cmp eax, edx
ja 0x10039ae0
mov eax, dword [esp + 0x84]
add eax, 0xfffff000
test eax, eax
jg 0x100398d5
mov ecx, dword [0x107ab964]
mov eax, dword [esp + 0x80]
push eax
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7118
ret
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
lea ecx, [esp + 0x54]
push 1
lea edx, [esp + 0x12c]
push ecx
push edx
push 0x1000
push 0x1000
push eax
mov eax, dword [0x107ab964]
push ebp
push edi
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x10039ac7
cmp dword [esp + 0x54], 0x1000
jne 0x10039ac7
mov eax, 0xfff
mov cl, byte [esp + eax + 0x128]
test cl, cl
jne 0x10039974
dec eax
cmp eax, 4
jge 0x10039928
mov ecx, dword [0x107ab964]
push edi
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [esp + 0x7130]
mov edx, dword [esp + 0x712c]
mov eax, dword [0x107ab964]
push ecx
push edx
push eax
call fcn.1002bac0
add esp, 0xc
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x7118
ret
mov eax, dword [esp + eax + 0x124]
test eax, eax
jbe 0x10039939
cmp dword [esp + 0xa8], eax
jbe 0x10039939
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xac]
sub ecx, eax
sub ecx, edx
mov ebx, ecx
cmp ebx, 0x250
jl 0x10039ac7
cmp ebx, 0x400
jg 0x10039ac7
mov ecx, dword [0x107ab964]
add eax, edx
push eax
push edi
push ecx
call fcn.1000fe50
mov esi, eax
add esp, 0xc
test esi, esi
jle 0x10039a69
mov eax, dword [esp + 0xb4]
cmp eax, esi
ja 0x10039a69
mov edx, dword [esp + 0xb0]
add edx, eax
cmp edx, esi
jb 0x10039a69
mov edx, dword [0x107ab964]
lea eax, [esp + 0x54]
push 1
lea ecx, [esp + 0x12c]
push eax
push ecx
push 0x1000
push ebx
push esi
push ebp
push edi
push edx
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x10039ac7
cmp dword [esp + 0x54], ebx
jne 0x10039ac7
mov ecx, dword [0x107ab964]
mov ebp, dword [esp + 0x90]
push 0
push ebp
mov eax, dword [ecx]
push edi
call dword [eax + 8]
mov ecx, dword [0x107ab964]
cmp eax, ebp
je 0x10039a56
mov edx, dword [ecx]
push edi
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7118
ret
mov eax, dword [ecx]
lea edx, [esp + 0x128]
push ebx
push edx
push edi
call dword [eax + 0x14]
cmp eax, ebx
je 0x10039a82
mov ecx, dword [0x107ab964]
push edi
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7118
ret
mov eax, dword [esp + 0x84]
sub eax, esi
cmp eax, 0x85000
jle 0x10039a69
cmp eax, 0xa0000
jg 0x10039a69
mov ecx, dword [0x107ab964]
push eax
push esi
push edi
push ecx
call section..text
mov ecx, dword [0x107ab964]
add esp, 0x10
mov edx, dword [ecx]
push edi
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x7118
ret
mov ecx, dword [0x107ab964]
push edi
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7118
ret
mov ecx, dword [0x107ab964]
mov edx, dword [esp + 0x80]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7118
ret
mov ecx, dword [0x107ab964]
push esi
mov edx, dword [ecx]
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x7118
ret