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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
mov ebx, ecx
mov dword [esp + 0x44], edx
push esi
xor esi, esi
mov dword [esp + 0x54], ebx
xor eax, eax
mov dword [esp + 0x20], 0
xorps xmm0, xmm0
mov dword [esp + 0x68], 0
push edi
mov edi, dword [ebx]
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x50], eax
movlpd qword [esp + 0x7c], xmm0
mov dword [esp + 0x48], edi
cmp dword [ebx + 0x24], eax
jne 0x1005cdf9
cmp byte [edi + 0x53], al
jne 0x1005cdf9
call fcn.1005c030
mov esi, eax
mov dword [esp + 0x40], esi
test esi, esi
je 0x1005cdf7
push 0
push 0
push 0x7f
mov edx, esi
mov ecx, ebx
call fcn.100815b0
mov ecx, eax
add esp, 0xc
mov al, byte [esi + 0x2b]
mov dword [esp + 0x64], ecx
mov byte [esp + 0x1b], al
test ecx, ecx
jne 0x1005c422
push ecx
push ecx
mov edx, esi
mov ecx, ebx
call fcn.10064270
add esp, 8
mov dword [esp + 0x1c], 0
test eax, eax
je 0x1005c42a
mov dword [esp + 0x1c], 1
mov edx, esi
mov ecx, ebx
call fcn.10056680
test eax, eax
jne 0x1005cdf7
cmp dword [esp + 0x64], eax
mov edx, esi
mov ecx, ebx
setne al
push eax
call fcn.1005c0c0
add esp, 4
test eax, eax
jne 0x1005cdf7
mov edx, dword [esi + 0x3c]
mov ecx, 0xffff8000
mov dword [esp + 0x14], ecx
test edx, edx
je 0x1005c483
mov eax, dword [edi + 0x10]
xor ecx, ecx
add eax, 0xc
mov dword [esp + 0x14], ecx
cmp dword [eax], edx
je 0x1005c483
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x1005c477
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov edx, 9
push dword [eax + ecx*8]
mov ecx, ebx
push 0
push dword [esi]
call fcn.10051b80
add esp, 0xc
mov dword [esp + 0x28], eax
cmp eax, 1
je 0x1005cdf7
mov ecx, dword [esp + 0x4c]
xor edx, edx
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], edx
mov dword [ecx + 0x34], eax
inc dword [ebx + 0x28]
mov eax, dword [esi + 8]
mov ecx, dword [ebx + 0x28]
test eax, eax
je 0x1005c4e0
nop dword [eax]
inc ecx
inc edx
mov dword [ebx + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x1005c4d0
mov dword [esp + 0x54], edx
cmp byte [esp + 0x1b], 2
jne 0x1005c4ff
mov ecx, dword [ebx + 0xf4]
mov eax, dword [esi]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ecx
mov dword [ebx + 0xf4], eax
jmp 0x1005c512
mov eax, dword [esp + 0x80]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x78], eax
mov edi, dword [ebx + 8]
test edi, edi
jne 0x1005c53b
cmp dword [ebx + 0x74], edi
jne 0x1005c52a
mov eax, dword [ebx]
test byte [eax + 0x4c], 8
jne 0x1005c52a
mov byte [ebx + 0x17], 1
mov ecx, ebx
call fcn.10028fb0
mov edi, eax
test edi, edi
je 0x1005cddb
cmp byte [ebx + 0x12], 0
jne 0x1005c548
or dword [edi + 0xa0], 0x10
push dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, ebx
call fcn.1005a7f0
add esp, 4
cmp byte [esp + 0x1b], 2
jne 0x1005c584
push dword [esp + 0x20]
mov edx, esi
mov ecx, ebx
push 0
push 0
push dword [ebp + 8]
call fcn.1005c170
mov eax, dword [esp + 0x30]
add esp, 0x10
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x88]
mov edx, dword [ebp + 8]
xorps xmm0, xmm0
movlpd qword [esp + 0x90], xmm0
movlpd qword [esp + 0x98], xmm0
movlpd qword [esp + 0xa0], xmm0
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], eax
call fcn.100403f0
test eax, eax
jne 0x1005cddb
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x1005c60a
cmp byte [ebx + 0x12], 0
jne 0x1005c60a
cmp dword [ebx + 0x78], 0
jne 0x1005c60a
cmp byte [ebx + 0x95], 0
jne 0x1005c60a
inc dword [ebx + 0x2c]
mov edx, 0x46
mov eax, dword [ebx + 0x2c]
mov ecx, edi
push eax
push 0
mov dword [esp + 0x4c], eax
call fcn.100293c0
add esp, 8
cmp dword [esp + 0x28], 0
mov eax, 1
mov ecx, dword [esp + 0x1c]
jne 0x1005c7bc
cmp dword [ebp + 8], 0
jne 0x1005c7bc
test ecx, ecx
jne 0x1005c7bc
cmp byte [esi + 0x2b], al
je 0x1005c7bc
push dword [esi]
mov edx, dword [esp + 0x18]
mov ecx, ebx
push eax
push dword [esi + 0x14]
call fcn.10051da0
add esp, 0xc
test byte [esi + 0x1c], 0x80
jne 0x1005c708
mov eax, dword [esi]
mov ecx, dword [esp + 0x44]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x34], eax
or eax, 0xffffffff
test ecx, ecx
cmovne eax, ecx
mov ecx, dword [edi + 0x74]
mov dword [esp + 0x64], eax
mov dword [esp + 0x28], ecx
cmp dword [edi + 0x78], ecx
jg 0x1005c695
push eax
push dword [esp + 0x18]
mov ecx, edi
push edx
mov edx, 0x8f
call fcn.10029250
add esp, 0xc
mov ecx, eax
jmp 0x1005c6c8
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x8f
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x28]
mov eax, dword [edi]
cmp byte [eax + 0x53], 0
jne 0x1005c708
test ecx, ecx
jns 0x1005c6d8
mov ecx, dword [edi + 0x74]
dec ecx
mov eax, dword [edi + 0x70]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x34]
je 0x1005c6fd
push 0xffffffffffffffff
push ecx
mov edx, eax
mov ecx, edi
call fcn.1002a2c0
add esp, 8
jmp 0x1005c708
test ecx, ecx
je 0x1005c708
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xff
mov esi, dword [esi + 8]
test esi, esi
je 0x1005cd8a
mov ebx, dword [esp + 0x40]
mov ecx, dword [edi + 0x74]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x78], ecx
jg 0x1005c73a
push 0
push dword [esp + 0x18]
mov ecx, edi
push edx
mov edx, 0x8f
call fcn.10029250
add esp, 0xc
jmp 0x1005c76d
mov ebx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4], 0x8f
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
jne 0x1005c7a8
test byte [ebx + 0x1c], 0x80
je 0x1005c7a8
mov eax, dword [edi]
mov ecx, dword [edi + 0x74]
cmp byte [eax + 0x53], 0
je 0x1005c78e
mov ecx, 0x1011f1f8
jmp 0x1005c79a
mov eax, dword [edi + 0x70]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx - 2]
lea ecx, [eax + ecx*4]
mov edx, dword [esp + 0x44]
or eax, 0xffffffff
test edx, edx
cmovne eax, edx
mov dword [ecx], eax
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x1005c717
mov ebx, dword [esp + 0x58]
jmp 0x1005cd8a
test byte [esp + 0xa0], 0x40
cmovne ecx, eax
xor eax, eax
test ecx, ecx
sete al
test byte [esi + 0x1c], 0x80
lea eax, [eax*8 + 0x14]
movzx eax, ax
mov dword [esp + 0x28], eax
jne 0x1005c810
inc dword [ebx + 0x2c]
mov edx, 0x49
mov eax, dword [ebx + 0x2c]
mov ecx, edi
push eax
push 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x40], 1
mov dword [esp + 0x70], eax
call fcn.100293c0
add esp, 8
jmp 0x1005c862
mov ecx, esi
call fcn.10053cf0
mov dword [esp + 0x1c], eax
movzx ecx, word [eax + 0x32]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x38], ecx
movsx ecx, cx
push ecx
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x40], edx
mov ecx, edi
mov edx, dword [ebx + 0x28]
mov dword [ebx + 0x2c], eax
mov dword [esp + 0x30], edx
push edx
lea eax, [edx + 1]
mov edx, 0x73
mov dword [ebx + 0x28], eax
call fcn.100293c0
mov edx, dword [esp + 0x24]
add esp, 8
mov ecx, ebx
mov dword [esp + 0x50], eax
call fcn.1002a460
mov eax, dword [esp + 0x20]
mov ecx, ebx
mov edx, dword [esp + 0x4c]
inc eax
push eax
push dword [esp + 0x2c]
push 0
push 0
push dword [ebp + 8]
call fcn.10097a70
mov edx, eax
add esp, 0x14
mov dword [esp + 0x34], edx
test edx, edx
je 0x1005cddb
mov eax, dword [edx + 0x14]
mov dword [esp + 0x84], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x28], eax
mov al, byte [edx + 0x2e]
mov byte [esp + 0x13], al
mov byte [esp + 0x7c], al
cmp al, 1
je 0x1005c8bd
mov eax, dword [ebx + 0x74]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
test byte [edx + 0x30], 1
je 0x1005c8d6
push dword [esp + 0x20]
mov edx, 0x8d
mov ecx, edi
call fcn.10029360
add esp, 4
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1005c8f0
push 1
push eax
mov edx, 0x54
mov ecx, edi
call fcn.100293c0
add esp, 8
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x1005c940
mov eax, dword [esp + 0x38]
cwde
test eax, eax
jle 0x1005c936
xor ebx, ebx
mov eax, dword [esp + 0x3c]
mov edx, esi
add eax, ebx
push eax
mov eax, dword [ecx + 4]
mov ecx, edi
movsx eax, word [eax + ebx*2]
push eax
push dword [esp + 0x28]
call fcn.10046c60
mov ecx, dword [esp + 0x44]
inc ebx
movsx eax, cx
add esp, 0xc
mov ecx, dword [esp + 0x1c]
cmp ebx, eax
jl 0x1005c903
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
jmp 0x1005c9a1
inc dword [ebx + 0x2c]
mov ecx, dword [edi + 0x74]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x14], edx
cmp dword [edi + 0x78], ecx
jg 0x1005c96e
push 0
push edx
push dword [esp + 0x28]
mov edx, 0x85
mov ecx, edi
call fcn.10029250
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x1005c9a1
mov esi, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x85
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x13], 0
je 0x1005ca46
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
movzx eax, ax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x54]
add eax, 2
cdq
push edx
push eax
call fcn.10005060
mov ecx, eax
add esp, 8
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x1005c9e5
mov ecx, dword [esp + 0x34]
call fcn.10098760
jmp 0x1005cddb
mov eax, dword [esp + 0x54]
inc eax
push eax
push 1
push ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x60]
add esp, 0xc
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov byte [eax + edx + 1], 0
mov eax, dword [esp + 0x84]
test eax, eax
js 0x1005ca18
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x28]
test eax, eax
js 0x1005ca26
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x1005ca37
mov edx, eax
mov ecx, edi
call fcn.1002a270
dec dword [ebx + 0x38]
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x70], eax
jmp 0x1005cad5
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x1005cab0
inc dword [ebx + 0x2c]
mov edx, ecx
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x38]
movsx esi, ax
push esi
push ecx
mov ecx, dword [ebx]
mov dword [esp + 0x64], 0
call fcn.10065970
add esp, 4
mov edx, 0x5f
mov ecx, edi
push eax
push dword [esp + 0x1c]
push esi
push dword [esp + 0x4c]
call fcn.100296d0
add esp, 0x14
mov edx, 0x88
mov ecx, edi
push esi
push dword [esp + 0x40]
push dword [esp + 0x1c]
push dword [esp + 0x38]
call fcn.10029b70
mov esi, dword [esp + 0x50]
add esp, 0x10
jmp 0x1005cacc
push edx
push dword [esp + 0x6c]
mov edx, 0x9a
mov dword [esp + 0x64], 1
mov ecx, edi
call fcn.100293c0
add esp, 8
mov ecx, dword [esp + 0x34]
call fcn.10098760
cmp byte [esp + 0x1b], 2
je 0x1005cb32
cmp byte [esp + 0x13], 2
mov dword [esp + 0x50], 0
jne 0x1005cafb
mov edx, 0x11
mov ecx, edi
call fcn.10029300
mov dword [esp + 0x50], eax
lea eax, [esp + 0x6c]
mov edx, esi
push eax
lea eax, [esp + 0x28]
mov ecx, ebx
push eax
push dword [esp + 0x38]
push dword [esp + 0x2c]
push 8
push 0x65
call fcn.10069ce0
mov al, byte [esp + 0x2b]
add esp, 0x18
cmp al, 2
jne 0x1005cb36
mov edx, dword [esp + 0x50]
mov ecx, edi
call fcn.10029ff0
jmp 0x1005cb3a
mov al, byte [esp + 0x13]
test al, al
je 0x1005cb7a
cmp byte [esi + 0x2b], 1
mov ecx, dword [esp + 0x24]
je 0x1005cbf2
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x20]
cmp byte [eax + ecx], 0
je 0x1005cbe8
mov eax, dword [esp + 0x5c]
mov edx, 0x1e
cwde
push eax
push dword [esp + 0x18]
push dword [esp + 0x78]
push ecx
mov ecx, edi
call fcn.10029b70
add esp, 0x10
jmp 0x1005cbe4
cmp dword [esp + 0x1c], 0
mov ecx, edi
je 0x1005cbc9
push dword [esp + 0x2c]
mov edx, 0x26
call fcn.10029360
add esp, 4
mov dword [esp + 0x60], eax
cmp byte [esi + 0x2b], 1
mov ecx, edi
push dword [esp + 0x14]
jne 0x1005cbb6
push 0
push dword [esp + 0x34]
mov edx, 0x5c
call fcn.10029290
jmp 0x1005cbe1
push dword [esp + 0x30]
mov edx, 0x84
call fcn.100293c0
add esp, 8
jmp 0x1005cbe4
push dword [esp + 0x14]
mov edx, 0x2d
push 0
push dword [esp + 0x70]
call fcn.10029290
mov dword [esp + 0x6c], eax
add esp, 0xc
mov ecx, dword [esp + 0x24]
cmp byte [esi + 0x2b], 1
jne 0x1005ccfa
mov esi, dword [esi + 0x34]
test esi, esi
je 0x1005cc0b
mov eax, dword [esp + 0x48]
nop dword [eax]
cmp dword [esi], eax
je 0x1005cc0b
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x1005cc00
mov edx, dword [esp + 0x40]
mov ecx, ebx
call fcn.10089f80
mov eax, dword [ebx + 0x74]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
cmp byte [esp + 0x13], 1
mov byte [ecx + 0x15], 1
jne 0x1005cc48
push dword [esp + 0x20]
mov edx, 0x78
mov ecx, edi
call fcn.10029360
add esp, 4
cmp dword [ebx + 0x74], 0
jne 0x1005cc48
mov byte [ebx + 0x14], 0
mov edx, dword [edi + 0x74]
cmp dword [edi + 0x78], edx
jg 0x1005cc6b
push dword [esp + 0x14]
mov edx, 0xa
mov ecx, edi
push 1
push 0
call fcn.10029250
add esp, 0xc
mov edx, eax
jmp 0x1005cca2
mov ebx, dword [esp + 0x14]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x53], 0
jne 0x1005cce1
test edx, edx
jns 0x1005ccb2
mov edx, dword [edi + 0x74]
dec edx
mov eax, dword [edi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1005ccd3
push 0xfffffffffffffff4
push esi
mov edx, eax
mov ecx, edi
call fcn.1002a2c0
add esp, 8
jmp 0x1005cce1
test esi, esi
je 0x1005cce1
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0xf4
inc dword [esi + 0xc]
mov eax, dword [edi + 0x74]
test eax, eax
jle 0x1005cd35
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x1005cd35
push dword [esp + 0x28]
cmp byte [ebx + 0x12], 0
mov edx, esi
push dword [esp + 0x80]
sete al
push 0xb
movzx eax, al
push eax
push dword [esp + 0x6c]
push dword [esp + 0x28]
push dword [esp + 0x84]
push ecx
push dword [esp + 0x84]
mov ecx, ebx
call fcn.1005ce30
add esp, 0x24
cmp byte [esp + 0x13], 0
mov ecx, edi
je 0x1005cd52
mov edx, dword [esp + 0x70]
call fcn.10029d40
mov ecx, dword [esp + 0x34]
call fcn.10098760
jmp 0x1005cd8a
cmp dword [esp + 0x1c], 0
je 0x1005cd76
mov esi, dword [esp + 0x60]
mov edx, 5
lea eax, [esi + 1]
push eax
push dword [esp + 0x30]
call fcn.100293c0
add esp, 8
mov edx, esi
jmp 0x1005cd83
mov edx, dword [esp + 0x60]
call fcn.10029430
mov edx, dword [esp + 0x60]
mov ecx, edi
call fcn.10029fc0
cmp byte [ebx + 0x12], 0
jne 0x1005cda3
cmp dword [ebx + 0x78], 0
jne 0x1005cda3
cmp dword [ebx + 0x70], 0
je 0x1005cda3
mov ecx, ebx
call fcn.100660b0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1005cddb
push 1
push eax
mov edx, 0x51
mov ecx, edi
call fcn.100293c0
mov edx, 1
mov ecx, edi
call fcn.1002b8a0
push 0
push str.rows_deleted
push 0
xor edx, edx
mov ecx, edi
call fcn.1002b930
add esp, 0x14
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
test eax, eax
je 0x1005cdf9
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xf4], ecx
jmp 0x1005cdf9
xor esi, esi
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.10059f40
mov eax, dword [ebp + 8]
test eax, eax
je 0x1005ce14
mov edx, eax
mov ecx, edi
call fcn.10042580
test esi, esi
je 0x1005ce21
mov edx, esi
mov ecx, edi
call fcn.10004cc0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret