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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x50]
cmp eax, dword [ecx + 8]
jbe 0x561654
sub esp, 0xd0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0xd4]
cmp dword [eax + 0xc], 1
jle 0x560a3e
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [0x561660]
mov dword [esp + 0x74], eax
lea eax, [esp + 0xdc]
mov dword [esp + 0x78], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x34]
mov dword [esp], eax
call fcn.004326b0
test eax, eax
jne 0x561019
mov eax, dword [esp + 0xd4]
movzx ecx, byte [eax + 1]
test cl, cl
jne 0x560a58
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x560a85
movzx ecx, byte [ecx]
test cl, cl
je 0x560a85
mov ecx, dword [eax + 4]
cmp dword [eax + 8], 7
jne 0x560a7e
cmp dword [ecx], 0x646e6977
jne 0x560a7e
cmp word [ecx + 4], 0x776f
jne 0x560a7e
cmp byte [ecx + 6], 0x73
jne 0x560a7e
mov ecx, 4
jmp 0x560a87
mov ecx, 1
jmp 0x560a87
xor ecx, ecx
movzx edx, byte [eax]
test dl, dl
jne 0x560aeb
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
cmp ebx, 7
jne 0x560ad4
cmp dword [edx], 0x72646e61
jne 0x560ab9
cmp word [edx + 4], 0x696f
jne 0x560ab4
cmp byte [edx + 6], 0x64
je 0x560aeb
cmp ebx, 7
jmp 0x560abc
cmp ebx, 7
jmp 0x560abc
cmp ebx, 7
jne 0x560ad4
cmp dword [edx], 0x646e6977
jne 0x560ad4
cmp word [edx + 4], 0x776f
jne 0x560ad4
cmp byte [edx + 6], 0x73
je 0x560aeb
mov dword [esp + 0x24], ecx
cmp ebx, 5
jne 0x560b09
cmp dword [edx], 0x6e616c70
jne 0x560b09
cmp byte [edx + 4], 0x39
jne 0x560b09
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], 0
call fcn.00432c40
add esp, 0xd0
ret
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x5c
call fcn.004028e0
cmp dword [esp + 0xc], 0xffffffff
jne 0x560b55
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x25
call fcn.004028e0
cmp dword [esp + 0xc], 0xffffffff
je 0x560b77
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], 0
call fcn.00432c40
add esp, 0xd0
ret
call fcn.00567930
mov eax, dword [esp]
mov dword [esp + 0x68], eax
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
test ecx, ecx
jne 0x560b91
xor ecx, ecx
jmp 0x560bbf
mov eax, dword [0xa1d838]
mov ebx, dword [0xa1d83c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.0050c860
movzx eax, byte [esp + 0x10]
xor eax, 1
mov ecx, eax
mov eax, dword [esp + 0x68]
test cl, cl
je 0x560bfa
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, dword [0xa1d840]
mov ebp, dword [0xa1d844]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.0050c860
movzx eax, byte [esp + 0x10]
test al, al
je 0x560ff7
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + 0x29]
test cl, cl
jne 0x560fd9
mov ecx, dword [esp + 0xd4]
mov edx, dword [ecx + 4]
cmp dword [ecx + 8], 7
jne 0x560e02
cmp dword [edx], 0x6e65706f
jne 0x560e02
cmp word [edx + 4], 0x7362
jne 0x560e02
cmp byte [edx + 6], 0x64
jne 0x560e02
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, dword [0xa1d838]
mov ebp, dword [0xa1d83c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.0050c860
movzx eax, byte [esp + 0x10]
test al, al
jne 0x560de0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
test edx, edx
je 0x560dc2
cmp edx, 2
jg 0x560da4
mov ebx, dword [ecx]
cmp dword [ecx + 4], 4
jne 0x560d86
cmp dword [ebx], 0x646e6962
jne 0x560d0e
cmp edx, 2
jne 0x560cf0
mov edx, dword [ecx + 8]
cmp dword [ecx + 0xc], 4
jne 0x560cd2
cmp dword [edx], 0x656c6966
jne 0x560cd2
mov dword [esp + 0xe4], 2
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov dword [esp + 0xe4], 4
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
cmp dword [ebx], 0x656c6966
jne 0x560d86
cmp edx, 2
jne 0x560d68
mov edx, dword [ecx + 8]
cmp dword [ecx + 0xc], 4
jne 0x560d4a
cmp dword [edx], 0x646e6962
jne 0x560d4a
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov dword [esp + 0xe4], 3
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov dword [esp + 0xe4], 2
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov dword [esp + 0xe4], 3
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0xdc]
cmp edx, 1
jl 0x560e43
lea eax, [edx + ebx - 1]
mov dword [esp], eax
lea eax, [0x893888]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.00402870
movzx eax, byte [esp + 0xc]
test al, al
je 0x560e43
dec dword [esp + 0xe0]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6b7534]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 6
call fcn.00578010
movzx eax, byte [esp + 0x10]
test al, al
jne 0x560fb7
call fcn.005764e0
mov eax, dword [esp]
mov dword [esp + 0x5c], eax
mov ecx, dword [eax + 0x1c]
lea edx, [0x680660]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x6b73e6]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
call fcn.0040f340
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov eax, dword [eax]
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x5c]
mov ebx, dword [edx + 0x14]
mov ebp, dword [edx + 0x18]
mov esi, dword [0xa1d838]
mov edi, dword [0xa1d83c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.0050c860
movzx eax, byte [esp + 0x10]
test al, al
jne 0x560f4d
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x560f04
mov ecx, dword [esp + 0x18]
jmp 0x560f0e
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x560f4d
test eax, eax
jne 0x560f2b
mov eax, dword [esp + 0x58]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor edx, edx
mov dword [esp + 0x60], edx
xor edx, edx
jmp 0x56104b
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 4]
cmp dword [eax + 8], 7
jne 0x560f95
cmp dword [ecx], 0x616c6f73
jne 0x560f95
cmp word [ecx + 4], 0x6972
jne 0x560f95
cmp byte [ecx + 6], 0x73
jne 0x560f95
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov dword [esp + 0xe4], 1
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
call fcn.00432c40
add esp, 0xd0
ret
mov esi, dword [esp + 0x70]
add esi, 0x14
mov edi, dword [esp + 0x30]
inc edi
mov dword [esp + 0x60], ebp
mov ebp, ecx
mov ecx, dword [esp + 0x18]
mov ecx, edx
mov edx, edi
mov edi, ebx
mov ebx, eax
mov eax, esi
mov esi, ecx
mov ecx, dword [esp + 0x18]
cmp edx, ecx
jge 0x561237
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], edx
xchg ebp, eax
mov byte [esp + 0x17], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + 0x16], al
xchg esi, eax
mov byte [esp + 0x15], bl
mov dword [esp + 0x70], eax
lea edi, [esp + 0x80]
mov esi, eax
call fcn.0045fc4e
mov ecx, dword [esp + 0x80]
cmp dword [esp + 0x84], 0xa
jne 0x5610c7
mov dword [esp], ecx
lea eax, [0x6b8a12]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.00402870
movzx eax, byte [esp + 0xc]
test al, al
jne 0x561174
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x30]
movzx ebx, byte [esp + 0x15]
movzx ebp, byte [esp + 0x17]
mov ecx, dword [esp + 0x80]
mov esi, edx
mov edx, dword [esp + 0x84]
cmp edx, 5
jne 0x5610ea
cmp dword [ecx], 0x656c6966
jne 0x5610ea
cmp byte [ecx + 4], 0x73
je 0x5610fc
cmp edx, 3
jne 0x561128
cmp word [ecx], 0x6e64
jne 0x561128
cmp byte [ecx + 2], 0x73
jne 0x561128
lea edi, [esp + 0x94]
lea esi, [esp + 0x80]
call fcn.0045fc4e
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x2c], edx
xor esi, esi
jmp 0x561450
cmp edx, 4
jl 0x561215
mov dword [esp], ecx
lea eax, [0x6b71ea]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.00402870
movzx eax, byte [esp + 0xc]
test al, al
je 0x561215
mov eax, 1
movzx ecx, byte [esp + 0x17]
movzx edx, byte [esp + 0x16]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x60]
jmp 0x561025
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00561930
movzx eax, byte [esp + 8]
test al, al
jne 0x561349
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
nop
cmp eax, 8
jne 0x5611b6
xor edx, edx
jmp 0x56136c
nop
cmp eax, 9
jne 0x5611c3
xor edx, edx
jmp 0x5613fd
mov edx, dword [0xa16ed4]
mov eax, dword [edx]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov ebx, dword [esp]
test eax, eax
jne 0x5613a4
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xdc]
cmp ecx, eax
jne 0x5611f9
xor ecx, ecx
jmp 0x5613cb
movzx eax, byte [esp + 0x15]
movzx ecx, byte [esp + 0x17]
movzx edx, byte [esp + 0x16]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x60]
jmp 0x561025
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
test bl, bl
je 0x56126c
mov eax, dword [esp + 0xd4]
movzx eax, byte [eax + 3]
test al, al
je 0x56126c
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x5612ff
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5612d7
cmp edi, 5
jne 0x5612b5
mov eax, dword [esp + 0x60]
cmp dword [eax], 0x656c6966
jne 0x5612b5
cmp byte [eax + 4], 0x73
jne 0x5612b5
mov dword [esp + 0xe4], 1
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov dword [esp + 0xe4], 2
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
xchg esi, eax
test al, al
xchg esi, eax
je 0x5612ff
mov dword [esp + 0xe4], 3
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x561327
mov dword [esp + 0xe4], 4
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
inc edx
cmp edx, eax
jge 0x561349
movzx ebx, byte [edx + ecx]
lea ebp, [ebx - 0x41]
xchg ebp, eax
cmp al, 0x19
xchg ebp, eax
ja 0x561381
add ebx, 0x20
lea ebp, [0x6b7edd]
movzx esi, byte [ebp + edx]
lea edi, [esi - 0x41]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x561399
add esi, 0x20
xchg esi, eax
cmp bl, al
xchg esi, eax
je 0x56136b
jmp 0x5611b6
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
inc ecx
mov edx, esi
mov ebx, edi
cmp ecx, eax
jge 0x5613a4
movzx ebp, byte [ecx + edx]
mov esi, edx
lea edx, [ebp - 0x41]
cmp dl, 0x19
ja 0x5613e0
add ebp, 0x20
movzx edx, byte [ecx + ebx]
mov edi, ebx
lea ebx, [edx - 0x41]
cmp bl, 0x19
ja 0x5613f1
add edx, 0x20
xchg ebp, eax
cmp al, dl
xchg ebp, eax
je 0x5613c6
jmp 0x5611f9
inc edx
cmp edx, eax
jge 0x561349
movzx ebx, byte [edx + ecx]
lea ebp, [ebx - 0x41]
xchg ebp, eax
cmp al, 0x19
xchg ebp, eax
ja 0x561416
add ebx, 0x20
lea ebp, [0x6b835a]
movzx esi, byte [ebp + edx]
lea edi, [esi - 0x41]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x56142e
add esi, 0x20
xchg esi, eax
cmp bl, al
xchg esi, eax
je 0x5613fc
jmp 0x5611c3
mov eax, dword [esp + 0x6c]
lea ecx, [eax + 0x14]
lea eax, [ebp + 1]
mov ebx, edi
movzx ebp, byte [esp + 0x17]
mov esi, eax
mov eax, dword [esp + 0x70]
cmp esi, edx
jge 0x5615ef
mov dword [esp + 0x1c], esi
mov dword [esp + 0x6c], ecx
lea edi, [esp + 0xa8]
mov esi, ecx
call fcn.0045fc4e
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x28], ecx
lea edi, [esp + 0xbc]
lea esi, [esp + 0xa8]
call fcn.0045fc4e
movzx ecx, byte [esp + 0xbc]
test cl, cl
je 0x5614a7
mov ebp, dword [esp + 0x1c]
mov esi, eax
mov edi, ebx
xor eax, eax
jmp 0x5615c5
mov ecx, dword [esp + 0xc0]
mov esi, eax
mov eax, dword [esp + 0xc4]
cmp eax, 7
jne 0x561502
cmp dword [ecx], 0x63637573
jne 0x5614df
cmp word [ecx + 4], 0x7365
jne 0x5614df
cmp byte [ecx + 6], 0x73
jne 0x5614df
mov eax, 6
lea ecx, [0x6b7744]
jmp 0x561540
cmp dword [ecx], 0x76616e75
jne 0x5615bd
cmp word [ecx + 4], 0x6961
jne 0x5615bd
cmp byte [ecx + 6], 0x6c
je 0x561535
jmp 0x5615bd
cmp eax, 8
jne 0x5615bd
cmp dword [ecx], 0x66746f6e
jne 0x56151c
cmp dword [ecx + 4], 0x646e756f
je 0x561535
cmp dword [ecx], 0x61797274
jne 0x5615bd
cmp dword [ecx + 4], 0x6e696167
jne 0x5615bd
mov eax, 8
lea ecx, [0x6b7efd]
mov edi, ebx
mov ebx, dword [esp + 0x28]
dec ebx
mov ebp, dword [esp + 0x1c]
cmp ebp, ebx
jne 0x561577
mov ebx, dword [esp + 0xc8]
cmp dword [esp + 0xcc], 6
jne 0x561577
cmp dword [ebx], 0x75746572
jne 0x561577
cmp word [ebx + 4], 0x6e72
jne 0x561577
mov eax, 1
jmp 0x5615c5
mov dword [esp + 0x64], ecx
mov ebx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
cmp eax, ebx
je 0x561591
xor eax, eax
jmp 0x5615c5
mov dword [esp], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00402870
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x70]
movzx edi, byte [esp + 0x15]
jmp 0x5615c5
mov ebp, dword [esp + 0x1c]
mov edi, ebx
xor eax, eax
test al, al
jne 0x561439
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xe8], eax
call fcn.00432c40
add esp, 0xd0
ret
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
cmp edx, 5
jne 0x561617
cmp dword [ecx], 0x656c6966
jne 0x561617
cmp byte [ecx + 4], 0x73
jne 0x561617
mov esi, 1
jmp 0x561633
cmp edx, 3
jne 0x56162e
cmp word [ecx], 0x6e64
jne 0x56162e
cmp byte [ecx + 2], 0x73
jne 0x56162e
mov ebp, 1
movzx esi, byte [esp + 0x16]
mov edi, eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x561643
mov edx, eax
mov ecx, dword [esp + 0x60]
mov eax, ebx
mov ebx, edx
mov edx, esi
mov esi, ecx
mov ecx, ebp
mov ebp, esi
jmp 0x561025
call fcn.0045e260
jmp fcn.005609a0