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

Disassembly:
push 0xffffffffffffffff
push 0x100d5c50
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x1013d900]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1013d900]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov edi, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
mov esi, 0x59
call fcn.10077ed0
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
je 0x10031eb4
push 0x1014e9a0
push 0x271a
push ebx
call fcn.10077f10
add esp, 0xc
test eax, eax
jne 0x10031eab
mov eax, dword [ebp + 0x60]
push eax
push 0xd
push ebx
call fcn.10077f10
add esp, 0xc
test eax, eax
jne 0x10031eab
mov eax, dword [ebp + 0x5c]
push eax
push 0x4e
push ebx
call fcn.10077f10
add esp, 0xc
test eax, eax
jne 0x10031eab
mov eax, edi
call fcn.100310f0
push eax
push 0x2712
push ebx
call fcn.10077f10
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10031eab
push 0x10031260
push 0x4e2b
push ebx
call fcn.10077f10
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10031eab
mov edx, dword [esp + 0x1c]
push edx
push 0x2711
push ebx
call fcn.10077f10
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10031eab
mov eax, dword [ebp + 0x50]
xor edi, edi
cmp eax, edi
je 0x10031d08
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], edi
mov byte [esp + 0x30], 0
mov dword [esp + 0x70], edi
mov eax, dword [ebp + 0x4c]
mov ebx, dword [eax]
mov edi, dword [ebp + 0x34]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], edi
mov esi, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x34]
test edi, edi
je 0x10031c2f
cmp edi, eax
je 0x10031c34
call fcn.100596cf
cmp ebx, esi
je 0x10031cc4
push 1
push 0x1012a070
lea eax, [esp + 0x34]
call fcn.100018f0
test edi, edi
jne 0x10031cbc
call fcn.100596cf
xor eax, eax
cmp ebx, dword [eax + 0x18]
jne 0x10031c61
call fcn.100596cf
push 0
lea eax, [ebx + 0xc]
push eax
or eax, 0xffffffff
lea esi, [esp + 0x34]
call fcn.10001b60
push 1
push 0x1012a078
mov eax, esi
call fcn.100018f0
test edi, edi
jne 0x10031cc0
call fcn.100596cf
cmp ebx, dword [edi + 0x18]
jne 0x10031c94
call fcn.100596cf
push 0
add ebx, 0x28
push ebx
or eax, 0xffffffff
lea esi, [esp + 0x34]
call fcn.10001b60
lea esi, [esp + 0x1c]
call fcn.10010050
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x10031c21
mov eax, dword [edi]
jmp 0x10031c57
mov edi, dword [edi]
jmp 0x10031c8a
sub esp, 0x1c
mov edi, esp
mov ecx, 7
lea esi, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x30]
push 0x271f
push ecx
call fcn.10077f10
add esp, 0x24
mov dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x44], 0x10
jb 0x10031d02
mov edx, dword [esp + 0x30]
push edx
call fcn.10032562
add esp, 4
mov ebx, dword [esp + 0x14]
xor edi, edi
mov ecx, dword [ebp + 0x14]
sub ecx, dword [ebp + 0x10]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], edi
je 0x10031e50
xor ebx, ebx
mov ecx, dword [ebp + 0x14]
sub ecx, dword [ebp + 0x10]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, ecx
jb 0x10031d53
call fcn.100596cf
mov esi, dword [ebp + 0x10]
push 0xffffffffffffffff
push 0
add esi, ebx
push esi
lea ecx, [esp + 0x38]
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], 0
call fcn.10005490
push 0xffffffffffffffff
mov dword [esp + 0x74], 1
lea eax, [esi + 0x1c]
push 0
push eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], 0
mov byte [esp + 0x58], 0
call fcn.10005490
mov dword [esp + 0x70], 0xffffffff
mov ecx, dword [esp + 0x4c]
mov esi, 0x10
cmp dword [esp + 0x60], esi
jae 0x10031dc4
lea ecx, [esp + 0x4c]
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x44], esi
jae 0x10031dd2
lea eax, [esp + 0x30]
push 0x11
push ecx
push 4
push eax
push 1
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.10078b00
add esp, 0x1c
cmp dword [esp + 0x60], esi
jb 0x10031dff
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.10032562
add esp, 4
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
mov byte [esp + 0x4c], 0
cmp dword [esp + 0x44], esi
jb 0x10031e27
mov edx, dword [esp + 0x30]
push edx
call fcn.10032562
add esp, 4
mov ecx, dword [ebp + 0x14]
sub ecx, dword [ebp + 0x10]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
inc edi
add eax, edx
add ebx, 0x38
cmp edi, eax
jb 0x10031d31
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push ecx
push 0x2728
push ebx
call fcn.10077f10
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10031eab
push ebx
call fcn.100780f0
mov esi, eax
add esp, 4
test esi, esi
jne 0x10031eab
mov edi, dword [esp + 0x24]
push edi
push 0x200002
push ebx
call fcn.10078130
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x10031e99
cmp dword [edi], 0xc8
je 0x10031e9e
mov esi, 0x16
mov edx, dword [esp + 0x18]
push edx
call fcn.10078d70
add esp, 4
push ebx
call fcn.10078110
add esp, 4
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.10056c06
add esp, 0x60
ret 8