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

Disassembly:
mov ecx, dword [0x95eda0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x158]
cmp eax, dword [ecx + 8]
jbe 0x60181c
sub esp, 0x1d8
mov eax, dword [esp + 0x1dc]
mov ecx, dword [eax + 0x138]
test ecx, ecx
je 0x600da6
mov edx, dword [eax + 0x13c]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
mov ecx, dword [esp + 0x1a0]
test ecx, ecx
je 0x600d9e
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x600d95
or edx, 0x80
mov ebx, dword [esp + 0x1a4]
jmp 0x600dac
xor edx, edx
xor ecx, ecx
xor ebx, ebx
jmp 0x600dac
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x178], ebx
mov dword [esp + 0x174], ecx
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call fcn.004d1160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x600e0f
cmp eax, 7
jne 0x600df7
mov eax, dword [ecx]
jmp 0x600e2c
cmp eax, 8
jne 0x600e01
movzx eax, byte [ecx]
jmp 0x600e2c
cmp eax, 9
jne 0x6017de
movzx eax, word [ecx]
jmp 0x600e2c
cmp eax, 0xa
jne 0x600e18
mov eax, dword [ecx]
jmp 0x600e2c
cmp eax, 0xb
jne 0x600e21
mov eax, dword [ecx]
jmp 0x600e2c
cmp eax, 0xc
jne 0x6017de
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x174]
mov dword [esp], ecx
mov edx, dword [esp + 0x178]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x28]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x17
call fcn.004d1160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x600e99
cmp eax, 7
jne 0x600e7d
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x600ebd
cmp eax, 8
jne 0x600e89
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x600ebd
cmp eax, 9
jne 0x6017a1
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x600ebd
cmp eax, 0xa
jne 0x600ea4
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x600ebd
cmp eax, 0xb
jne 0x600eb0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x600ebd
cmp eax, 0xc
jne 0x6017a1
mov eax, dword [ecx]
xor ecx, ecx
test ecx, ecx
sete dl
seta bl
test eax, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ebp
or edx, ebx
test dl, dl
je 0x601121
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x38]
and edx, 0xf0000000
mov ebx, dword [esp + 0x1dc]
movzx ebp, byte [ebx + 0x294]
shr edx, 0x1c
mov dword [esp + 0x7c], edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x60100a
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call fcn.004d1160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x600f6a
cmp eax, 7
jne 0x600f52
mov ecx, dword [ecx]
jmp 0x600f87
cmp eax, 8
jne 0x600f5c
movzx ecx, byte [ecx]
jmp 0x600f87
cmp eax, 9
jne 0x601764
movzx ecx, word [ecx]
jmp 0x600f87
cmp eax, 0xa
jne 0x600f73
mov ecx, dword [ecx]
jmp 0x600f87
cmp eax, 0xb
jne 0x600f7c
mov ecx, dword [ecx]
jmp 0x600f87
cmp eax, 0xc
jne 0x601764
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x84]
xor eax, eax
call fcn.00471a28
mov ecx, dword [esp + 0x1dc]
mov edx, dword [ecx + 0x78]
lea ebx, [0x6ea1a0]
cmp edx, ebx
jne 0x60174e
mov esi, dword [ecx + 0x7c]
lea edi, [esp + 0x84]
call fcn.00471d40
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x1dc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005fc110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x1dc]
mov ebp, 1
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x64], ebp
mov ebp, 1
jmp 0x601488
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x16
call fcn.004d1160
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x601071
cmp eax, 7
jne 0x601059
mov ecx, dword [ecx]
jmp 0x60108e
cmp eax, 8
jne 0x601063
movzx ecx, byte [ecx]
jmp 0x60108e
cmp eax, 9
jne 0x601433
movzx ecx, word [ecx]
jmp 0x60108e
cmp eax, 0xa
jne 0x60107a
mov ecx, dword [ecx]
jmp 0x60108e
cmp eax, 0xb
jne 0x601083
mov ecx, dword [ecx]
jmp 0x60108e
cmp eax, 0xc
jne 0x601433
mov ecx, dword [ecx]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x84]
xor eax, eax
call fcn.00471a24
mov ecx, dword [esp + 0x1dc]
mov edx, dword [ecx + 0x78]
lea ebx, [0x6e9e20]
cmp edx, ebx
jne 0x60141d
mov esi, dword [ecx + 0x7c]
lea edi, [esp + 0x84]
call fcn.00471d18
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x1dc]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c]
sub edx, eax
mov dword [esp + 4], edx
call fcn.005fc110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x1dc]
mov ebp, dword [esp + 0x7c]
mov esi, 1
xor edi, edi
xor esi, esi
mov dword [esp + 0x68], esi
xor esi, esi
mov dword [esp + 0x1d4], esi
xor esi, esi
mov dword [esp + 0x64], esi
mov esi, 1
jmp 0x601164
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], eax
add esp, 0x1d8
ret
mov ecx, dword [esp + 0x1cc]
mov dword [ebx + edx + 8], ecx
mov edi, dword [esp + 0x50]
adc edi, 0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 0x50], edi
cmp edi, ecx
sete cl
xchg edi, ebx
setb bl
xchg edi, ebx
cmp esi, edx
setbe dl
and ecx, edx
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x601388
mov byte [esp + 0x25], 0
mov edx, dword [ebx + 0x2ac]
add edx, 0xfffffffc
cmp eax, edx
jbe 0x6011a3
mov edx, dword [0x932770]
xor edi, edi
jmp 0x6011d6
mov ecx, dword [ebx + 0x28c]
cmp eax, ecx
ja 0x601418
mov edx, dword [ebx + 0x290]
sub ecx, eax
sub edx, eax
neg edx
sar edx, 0x1f
and edx, eax
cmp ecx, 3
jbe 0x60140e
mov edi, dword [ebx + 0x288]
mov edi, dword [edx + edi]
xor edx, edx
test edx, edx
jne 0x60135d
mov dword [esp + 0x58], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], esi
test ebp, ebp
seta dl
and edx, 1
test dl, dl
jne 0x601207
xor edx, edx
xor ecx, ecx
xor ecx, ecx
mov dword [esp + 0x5c], ecx
xor ecx, ecx
jmp 0x60128a
mov dword [esp], ebx
lea ecx, [0x691de0]
mov dword [esp + 4], ecx
lea edx, [esp + 0x25]
mov dword [esp + 8], edx
lea edx, [eax + 4]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.005fcdb0
movzx eax, byte [esp + 0x25]
cmp al, 1
je 0x60123b
cmp al, 2
jne 0x601269
mov byte [esp + 0x27], al
lea edi, [esp + 0x17c]
xor eax, eax
call fcn.00471a57
mov ecx, dword [esp + 0x1dc]
mov edx, dword [ecx + 0xb8]
mov ebx, dword [ecx + 0xbc]
mov ebp, dword [esp + 0x58]
jmp 0x6013a7
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x1dc]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1cc], edx
mov ebx, dword [esp + 0x64]
inc ebx
mov edx, dword [esp + 0x68]
cmp edx, ebx
jae 0x6012f5
mov byte [esp + 0x23], cl
mov eax, dword [esp + 0x1d4]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6c4c80]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x1d4], eax
mov edx, ecx
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 0x23]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], edx
lea edx, [ebx - 1]
shl edx, 4
mov ebx, dword [esp + 0x1d4]
mov dword [ebx + edx], edi
mov byte [ebx + edx + 4], cl
mov edi, dword [esp + 0x5c]
mov dword [ebx + edx + 0xc], edi
mov edi, dword [0x95f020]
lea eax, [eax + ebp + 4]
mov ecx, esi
add esi, 1
test edi, edi
jne 0x601334
add ecx, 1
jmp 0x601143
mov dword [esp + 0x78], eax
call fcn.004717d0
mov ebp, dword [esp + 0x1cc]
mov dword [edi], ebp
mov eax, dword [ebx + edx + 8]
mov dword [edi + 4], eax
add ecx, 1
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
jmp 0x601143
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1e8], eax
add esp, 0x1d8
ret
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x1d4]
jmp 0x601127
add edx, 0x24
dec ebx
mov ecx, dword [esp + 0x1dc]
test ebx, ebx
jle 0x6013d7
lea edi, [esp + 0x1a8]
mov esi, edx
call fcn.00471f16
cmp dword [esp + 0x1ac], ebp
jne 0x60139c
lea edi, [esp + 0x17c]
lea esi, [esp + 0x1a8]
call fcn.00471f16
jmp 0x6013e3
lea edi, [esp + 0x17c]
call fcn.00471a57
lea edi, [esp + 0x1a8]
lea esi, [esp + 0x17c]
call fcn.00471f16
mov edx, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
movzx eax, byte [esp + 0x27]
jmp 0x60126d
mov eax, 3
call fcn.00471840
call fcn.004718b0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x6a8ba0]
mov dword [esp + 8], eax
call fcn.0040a040
lea eax, [0x6bee00]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6fd962]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
lea ecx, [0x6b1a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046aeb0
mov dword [edi + ebx + 8], ecx
inc ebp
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x1dc]
mov esi, dword [esp + 0x64]
mov esi, dword [esp + 0x74]
cmp ebp, ecx
ja 0x6016b7
mov dword [esp + 0x54], ebp
mov byte [esp + 0x26], 0
mov ecx, dword [ebx + 0x2ac]
add ecx, 0xfffffffc
cmp eax, ecx
jbe 0x6014bc
mov ecx, dword [0x932770]
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x6c]
jmp 0x6014fc
mov ecx, dword [ebx + 0x28c]
cmp eax, ecx
ja 0x601749
mov ebp, dword [ebx + 0x290]
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
cmp ecx, 3
jbe 0x60173f
mov ecx, dword [ebx + 0x288]
mov ebp, dword [ebp + ecx]
xor ecx, ecx
mov dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x54]
test ecx, ecx
jne 0x601697
mov dword [esp + 0x48], eax
test edx, edx
seta cl
and ecx, 1
test cl, cl
jne 0x601529
xor ecx, ecx
xor ecx, ecx
mov byte [esp + 0x24], cl
xor ecx, ecx
mov dword [esp + 0x60], ecx
xor ecx, ecx
jmp 0x6015c8
mov dword [esp + 0x68], esi
mov dword [esp + 0x1d4], edi
mov dword [esp], ebx
lea ecx, [0x691de0]
mov dword [esp + 4], ecx
lea ebp, [esp + 0x26]
mov dword [esp + 8], ebp
lea ebp, [eax + 4]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.005fcdb0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x60166c
movzx edx, byte [esp + 0x26]
cmp dl, 1
je 0x601574
cmp dl, 2
jne 0x60159e
lea edi, [esp + 0x17c]
xor eax, eax
call fcn.00471a57
mov ecx, dword [esp + 0x1dc]
mov ebx, dword [ecx + 0xb8]
mov ebp, dword [ecx + 0xbc]
mov esi, dword [esp + 0x40]
jmp 0x6016d3
xor eax, eax
xor ecx, ecx
mov ebx, dword [esp + 0x1dc]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x1d4]
mov byte [esp + 0x24], dl
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x64]
inc ebx
cmp esi, ebx
jae 0x601619
mov dword [esp + 0x1d0], ecx
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6c4c80]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x74], esi
dec ebx
shl ebx, 4
mov esi, dword [esp + 0x40]
mov dword [edi + ebx], esi
movzx esi, byte [esp + 0x24]
xchg esi, eax
mov byte [edi + ebx + 4], al
xchg esi, eax
mov esi, dword [esp + 0x60]
mov dword [edi + ebx + 0xc], esi
mov esi, dword [0x95f020]
lea eax, [eax + edx + 4]
test esi, esi
je 0x601470
mov esi, edi
call fcn.004717d0
mov dword [edi], ecx
mov edx, dword [esi + ebx + 8]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x7c]
mov edi, esi
jmp 0x601470
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1e8], eax
add esp, 0x1d8
ret
mov dword [esp + 0x1e0], edi
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], esi
add esp, 0x1d8
ret
mov eax, esi
mov ecx, dword [esp + 0x64]
mov edx, edi
jmp 0x601127
add ebx, 0x24
dec ebp
mov ecx, dword [esp + 0x1dc]
mov esi, dword [esp + 0x40]
test ebp, ebp
jle 0x60170b
lea edi, [esp + 0x1a8]
mov esi, ebx
call fcn.00471f16
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x1ac], ecx
jne 0x6016c4
lea edi, [esp + 0x17c]
lea esi, [esp + 0x1a8]
call fcn.00471f16
mov esi, dword [esp + 0x40]
jmp 0x601717
lea edi, [esp + 0x17c]
call fcn.00471a57
lea edi, [esp + 0x1a8]
lea esi, [esp + 0x17c]
call fcn.00471f16
mov ecx, dword [esp + 0x1b8]
mov ebx, dword [esp + 0x1bc]
mov eax, ebx
jmp 0x6015a2
mov eax, 3
call fcn.00471840
call fcn.004718b0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x6a8ba0]
mov dword [esp + 8], eax
call fcn.0040a040
lea eax, [0x6bee00]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6fd962]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
lea ecx, [0x6b1a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6bee00]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6fd962]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
lea ecx, [0x6b1a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6bee00]
mov dword [esp], eax
call fcn.0040c000
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x6fd962]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
lea ecx, [0x6b1a00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046aeb0
nop
call fcn.004703c0
jmp fcn.00600d30