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

Disassembly:
sub esp, 0x1c8
mov ecx, dword [0x107ab964]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1d8]
mov eax, dword [ecx]
push edi
push esi
call dword [eax + 0x20]
mov ebx, eax
xor ebp, ebp
cmp ebx, ebp
mov dword [esp + 0x28], ebx
jle 0x1005f510
mov edx, dword [0x107ab964]
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x78]
push ecx
push esi
push edx
call fcn.1000fc50
add esp, 0xc
test eax, eax
je 0x1005f510
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0xb0]
cmp edx, eax
jae 0x1005f510
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xd8]
push ebp
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
lea ecx, [esp + 0xdc]
push eax
push ecx
push 0x100
push 0x100
push edx
mov edx, dword [0x107ab964]
push ebx
push esi
push edx
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x1005f510
cmp dword [esp + 0x18], 0x100
jne 0x1005f510
lea ecx, [esp + 0xdc]
lea ebx, [esp + 0xd8]
sub ecx, 0xa
xor edi, edi
mov dword [esp + 0x20], ecx
mov ecx, 0xa
xor edx, edx
xor esi, esi
xor eax, eax
sub ecx, ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], ecx
mov ebx, ebp
mov ecx, dword [esp + 0x14]
cmp ecx, 2
jge 0x1005efc7
sub ecx, 0
je 0x1005eeb9
dec ecx
je 0x1005eef6
jmp 0x1005efae
cmp dword [esp + eax + 0xd8], 0x6024048b
jne 0x1005eef6
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
add ecx, eax
lea ecx, [esp + ecx + 0xd8]
cmp word [ebx + ecx], 0xe89c
jne 0x1005eef2
mov ebx, dword [esp + 0x10]
mov edi, ecx
mov dword [esp + 0x14], 1
jmp 0x1005efae
mov ebx, dword [esp + 0x10]
cmp word [esp + eax + 0xd8], 0xed81
jne 0x1005efae
cmp word [esp + eax + 0xde], 0x8589
jne 0x1005efae
cmp word [esp + eax + 0xe4], 0x958d
jne 0x1005efae
cmp word [esp + eax + 0xea], 0x8d8b
jne 0x1005efae
cmp dword [esp + eax + 0xf0], 0xbd8d0a89
jne 0x1005efae
cmp dword [esp + eax + 0xf8], 0x858df78b
jne 0x1005efae
cmp word [esp + eax + 0x100], 0xd0ff
jne 0x1005efae
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + eax + 0xe6]
mov edx, dword [esp + eax + 0xec]
mov esi, dword [esp + eax + 0xf4]
mov ebp, dword [esp + 0x88]
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + eax + 0xda]
sub ebx, ecx
sub edx, ecx
sub esi, ecx
add ebx, edi
add edx, edi
add esi, edi
add ebx, ebp
add edx, ebp
add esi, ebp
mov ebp, dword [esp + eax + 0xfc]
sub ebp, ecx
mov ecx, dword [esp + 0x88]
add ebp, edi
mov dword [esp + 0x10], ebx
add ebp, ecx
inc eax
cmp eax, 0xd0
jb 0x1005ee9f
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c8
ret
cmp eax, 0xd0
jae 0x1005f510
test edx, edx
je 0x1005f510
test ebx, ebx
je 0x1005f510
test ebp, ebp
je 0x1005f510
test esi, esi
je 0x1005f510
lea eax, [esp + 0x18]
push 0
lea ecx, [esp + 0x24]
push eax
mov eax, dword [esp + 0x1e4]
push ecx
mov ecx, dword [0x107ab964]
push 4
push 4
push edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x38], 0
push edx
push eax
push ecx
call fcn.100253e0
add esp, 0x24
test eax, eax
jne 0x1005f036
cmp dword [esp + 0x18], 4
jne 0x1005f510
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xd8]
push eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x1c]
lea eax, [esp + 0xdc]
push edx
mov edx, dword [esp + 0x1e4]
push eax
mov eax, dword [0x107ab964]
push 0x100
push 0x100
push ebp
push ecx
push edx
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x1005f510
cmp dword [esp + 0x18], 0x100
jne 0x1005f510
push 0
push 0
push 0
push 0
push 0x6000
call sub.platform.dll_Ordinal_24
mov ebp, eax
add esp, 0x14
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x1005f510
mov ecx, 0x1800
xor eax, eax
mov edi, ebp
push eax
rep stosd dword es:[edi], eax
push 0x100
push ebp
lea ecx, [esp + 0xe4]
push 0x100
push ecx
call fcn.10024c10
add esp, 0x14
cmp eax, 0x10
mov dword [esp + 0x1c], eax
jle 0x1005f507
cmp dword [ebp + 0x10], 0x118
jne 0x1005f507
cmp dword [ebp + 0x21], 0x8c
jne 0x1005f507
cmp dword [ebp + 0x36], 0x8f
jne 0x1005f507
mov eax, dword [ebp + 0x3b]
cmp eax, 0x100
mov dword [esp + 0x2c], eax
jb 0x1005f507
cmp eax, 0x2000
ja 0x1005f507
push 0
push 0
push 0
mov edi, eax
push 0
push edi
call sub.platform.dll_Ordinal_24
mov ebp, eax
add esp, 0x14
test ebp, ebp
jne 0x1005f14e
mov edx, dword [esp + 0x14]
push edx
jmp 0x1005f508
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1dc]
lea eax, [esp + 0x18]
push 0
push eax
mov eax, dword [0x107ab964]
push ebp
push edi
push edi
push esi
push ecx
push edx
push eax
call fcn.100253e0
add esp, 0x24
test eax, eax
je 0x1005f4e7
cmp dword [esp + 0x18], edi
jne 0x1005f4e7
mov eax, ebx
sub eax, esi
js 0x1005f4c7
add edi, 0xfffffffc
cmp eax, edi
jge 0x1005f4c7
mov edx, dword [esp + 0x20]
mov ecx, ebp
sub ecx, esi
xor edi, edi
xor al, al
mov dword [ecx + ebx], edx
mov edx, dword [esp + 0x1c]
mov ecx, 1
xor ebx, ebx
cmp edx, ecx
mov byte [esp + 0x10], al
mov dword [esp + 0x24], ecx
jle 0x1005f2f9
cmp edi, dword [esp + 0x2c]
jge 0x1005f2f9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
lea ecx, [ecx + ecx*2]
shl ecx, 5
add edx, ecx
mov ecx, dword [edx + 0x10]
cmp ecx, 0x143
jg 0x1005f27b
je 0x1005f26e
cmp ecx, 0xe4
jg 0x1005f23c
je 0x1005f22f
sub ecx, 6
je 0x1005f223
sub ecx, 0x59
je 0x1005f218
sub ecx, 0x72
jne case.0x1005f28e.446
inc al
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
dec al
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
add al, byte [edx + 0x3b]
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
mov dword [esp + 0x24], 0
jmp case.0x1005f28e.446
sub ecx, 0x104
je 0x1005f258
sub ecx, 0x3d
jne case.0x1005f28e.446
neg al
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
test ebx, ebx
jne case.0x1005f28e.446
mov al, byte [edi + ebp]
mov ebx, 1
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
or cl, 0xff
sub cl, al
mov al, cl
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
lea esi, [ecx - 0x1b9]
cmp esi, 0x67
ja case.0x1005f28e.446
xor ecx, ecx
mov cl, byte [esi + 0x1005f538]
jmp dword [ecx*4 + 0x1005f520]
sub al, byte [edx + 0x3b]
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
mov ecx, dword [esp + 0x10]
xor eax, eax
mov al, byte [edx + 0x3b]
push eax
push ecx
call fcn.10018510
add esp, 8
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
xor al, byte [edx + 0x3b]
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
mov ecx, dword [esp + 0x10]
xor eax, eax
mov al, byte [edx + 0x3b]
push eax
push ecx
call fcn.10018540
add esp, 8
mov byte [esp + 0x10], al
jmp case.0x1005f28e.446
cmp ebx, 1
jne case.0x1005f28e.446
xor ebx, ebx
mov byte [edi + ebp], al
inc edi
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
inc ecx
cmp ecx, edx
mov dword [esp + 0x24], ecx
jl 0x1005f1c5
mov edx, dword [esp + 0x14]
push edx
call sub.platform.dll_Ordinal_27
mov ecx, 0xa
xor eax, eax
lea edi, [esp + 0x54]
lea edx, [esp + 0x34]
rep stosd dword es:[edi], eax
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x38], eax
push ecx
mov ecx, dword [0x107ab964]
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x1e4]
push edx
push eax
push ecx
call fcn.10010a00
add esp, 0x14
test eax, eax
je 0x1005f507
mov ebx, dword [esp + 0x2c]
xor esi, esi
xor edi, edi
cmp ebx, esi
mov dword [esp + 0x1c], esi
jle 0x1005f3fb
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x5c]
cmp edi, 2
jge 0x1005f3fb
mov eax, edi
sub eax, 0
je 0x1005f379
dec eax
je 0x1005f3bd
jmp 0x1005f3f2
lea eax, [ebx - 0x1a]
cmp esi, eax
jge 0x1005f3bd
cmp dword [esi + ebp], 0x210446c7
jne 0x1005f3bd
cmp dword [esi + ebp + 4], 0x8b4c4d54
jne 0x1005f3bd
cmp byte [esi + ebp + 8], 0xb5
jne 0x1005f3bd
mov eax, 0x4689
cmp word [esi + ebp + 0xd], ax
jne 0x1005f3bd
cmp word [esi + ebp + 0x10], 0x858b
jne 0x1005f3bd
cmp word [esi + ebp + 0x16], ax
jne 0x1005f3bd
mov edi, 1
jmp 0x1005f3f2
lea eax, [ebx - 9]
cmp esi, eax
jge 0x1005f3f2
cmp word [esi + ebp], 0x619d
jne 0x1005f3f2
cmp byte [esi + ebp + 2], 0xb8
jne 0x1005f3f2
cmp word [esi + ebp + 7], 0xe0ff
jne 0x1005f3f2
mov eax, dword [esi + ebp + 3]
sub eax, ecx
cmp eax, 0x400
jb 0x1005f3f2
cmp eax, edx
jae 0x1005f3f2
mov dword [esp + 0x1c], eax
inc edi
inc esi
cmp esi, ebx
jl 0x1005f364
push ebp
call sub.platform.dll_Ordinal_27
add esp, 4
cmp esi, ebx
jge 0x1005f510
cmp edi, 2
jl 0x1005f510
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1005f510
cmp dword [esp + 0xb0], eax
jbe 0x1005f510
mov esi, dword [esp + 0x1dc]
mov ecx, dword [0x107ab964]
push eax
push esi
push ecx
call fcn.10029b30
add esp, 0xc
test eax, eax
je 0x1005f510
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov ecx, dword [0x107ab964]
push edx
push eax
push esi
push ecx
call fcn.100014d0
mov ecx, dword [0x107ab964]
xor edx, edx
mov dword [esp + 0x4c], edx
lea eax, [esp + 0x4c]
mov dword [esp + 0x50], edx
push eax
mov dword [esp + 0x58], edx
push esi
mov dword [esp + 0x60], edx
push ecx
mov dword [esp + 0x68], edx
call fcn.1000fbb0
add esp, 0x1c
test eax, eax
je 0x1005f510
mov eax, dword [esp + 0x28]
mov ecx, dword [0x107ab964]
lea edx, [esp + 0x3c]
mov dword [esp + 0x40], 0
push edx
push eax
push esi
push ecx
call fcn.1002b3b0
add esp, 0x10
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x1c8
ret
mov edx, dword [esp + 0x14]
push edx
call sub.platform.dll_Ordinal_27
push ebp
call sub.platform.dll_Ordinal_27
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret
mov eax, dword [esp + 0x14]
push eax
call sub.platform.dll_Ordinal_27
push ebp
call sub.platform.dll_Ordinal_27
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret
push ebp
call sub.platform.dll_Ordinal_27
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c8
ret