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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x5e06fc
sub esp, 0xbc
mov ecx, dword [esp + 0xc8]
test ecx, ecx
jbe 0x5e06f4
mov edx, dword [esp + 0xc4]
movzx ebx, byte [edx]
cmp ecx, 5
jb 0x5e06ea
mov byte [esp + 0x4b], bl
mov eax, dword [esp + 0xcc]
lea ebp, [eax - 5]
mov dword [esp + 0x74], ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 5
add ebp, edx
mov dword [esp + 0xac], ebp
add ecx, 0xfffffffb
mov dword [esp + 0x5c], ecx
mov edi, dword [esp + 0xc0]
cmp word [edi + 0x10], 0x304
jne 0x5dfc2a
cmp bl, 0x14
je 0x5e0661
mov dword [esp], edi
call fcn.005df940
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc0]
mov edx, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x14]
test ebx, ebx
je 0x5e0635
je 0x5e06d2
mov dword [esp + 0x70], eax
mov dword [esp + 0xb8], edx
mov dword [esp + 0x90], ebx
lea eax, [0x901700]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00408bb0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
je 0x5e0122
mov eax, dword [edx + 0x10]
mov dword [esp], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
call eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x5c]
xor ebx, ebx
mov ebp, 0xffffffff
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x58], esi
xchg ebp, eax
mov byte [esp + 0x4a], al
xchg ebp, eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0xc0]
cmp word [edx + 0x10], 0x304
jne 0x5e010f
movzx edx, byte [esp + 0x4b]
cmp dl, 0x17
jne 0x5e00bc
cmp edi, 0x4001
jg 0x5e0069
lea ebx, [edi - 1]
jmp 0x5dfd32
dec ebx
movzx ebp, byte [esp + 0x4a]
mov esi, dword [esp + 0x58]
test ebx, ebx
jl 0x5e0059
cmp ebx, edi
jae 0x5e06af
mov ebp, dword [esp + 0xa0]
movzx esi, byte [ebp + ebx]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5dfdab
test ebx, ebx
jne 0x5dfd28
movzx eax, byte [0xa43f31]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 0
lea ecx, [0xa4e740]
mov dword [esp + 0xe0], ecx
lea ecx, [0xd895e0]
add eax, ecx
mov dword [esp + 0xe4], eax
add esp, 0xbc
ret
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x68], eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x6c], edi
xchg esi, eax
mov byte [esp + 0x49], al
xchg esi, eax
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x20]
test eax, eax
jne 0x5dfe41
mov eax, dword [esp + 0x58]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0xa0], ebp
mov dword [esp], ecx
call fcn.005df8d0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xd8], eax
movzx eax, byte [esp + 0x49]
mov byte [esp + 0xdc], al
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
add esp, 0xbc
ret
mov dword [esp + 0x5c], edx
mov eax, dword [eax + 0x14]
mov dword [esp], edi
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jl 0x5e0006
mov ebx, ecx
sub ecx, eax
mov ebp, dword [esp + 0x6c]
sub ecx, ebp
mov ebp, ecx
shr ecx, 0x1f
lea esi, [ecx - 1]
and esi, ebp
mov ebp, esi
sar esi, 8
mov edi, dword [esp + 0xc4]
xchg esi, eax
mov byte [edi + 3], al
xchg esi, eax
xchg ebp, eax
mov byte [edi + 4], al
xchg ebp, eax
lea ecx, [ebp + eax]
mov edx, dword [esp + 0x68]
cmp ecx, edx
ja 0x5e06aa
cmp ebp, ecx
ja 0x5e06a3
sub edx, ebp
mov dword [esp + 0x50], edx
neg edx
sar edx, 0x1f
and edx, ebp
mov esi, dword [esp + 0xa4]
add edx, esi
cmp ecx, ebx
ja 0x5e069a
mov dword [esp + 0x4c], eax
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x9c], edx
mov eax, dword [esp + 0xc0]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
mov edx, dword [edx + 0x10]
mov dword [esp], ebx
lea ebx, [eax + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], 8
mov dword [esp + 0xc], 8
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], 5
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebp
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x24], ebx
sub ebx, ecx
mov dword [esp + 0x88], ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
add ebx, esi
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x5c]
sub ebx, ecx
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x30], ecx
call edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], eax
call fcn.00535e80
movzx eax, byte [esp + 0x4a]
movzx eax, al
and eax, dword [esp + 0x18]
cmp eax, 1
jne 0x5dffb3
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0xa4]
jmp 0x5dfddd
movzx eax, byte [0xa43f33]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 0
lea ecx, [0xa4e740]
mov dword [esp + 0xe0], ecx
lea ecx, [0xd895e0]
add eax, ecx
mov dword [esp + 0xe4], eax
add esp, 0xbc
ret
movzx eax, byte [0xa43f32]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 0
lea ecx, [0xa4e740]
mov dword [esp + 0xe0], ecx
lea ecx, [0xd895e0]
add eax, ecx
mov dword [esp + 0xe4], eax
add esp, 0xbc
ret
mov ebp, dword [esp + 0xa0]
mov ebx, edi
mov esi, edx
jmp 0x5dfdab
movzx eax, byte [0xa43f30]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 0
lea ecx, [0xa4e740]
mov dword [esp + 0xe0], ecx
lea ecx, [0xd895e0]
add eax, ecx
mov dword [esp + 0xe4], eax
add esp, 0xbc
ret
movzx eax, byte [0xa43f2f]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 0
lea ecx, [0xa4e740]
mov dword [esp + 0xe0], ecx
lea ecx, [0xd895e0]
add eax, ecx
mov dword [esp + 0xe4], eax
add esp, 0xbc
ret
mov ebp, dword [esp + 0xa0]
mov ebx, edi
movzx esi, byte [esp + 0x4b]
jmp 0x5dfdab
lea eax, [0x92f880]
mov dword [esp], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 8], ecx
call fcn.00408bb0
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test al, al
jne 0x5e03bb
lea eax, [0x916c60]
mov dword [esp], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
call fcn.00408bb0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x14]
test dl, dl
je 0x5e06d2
mov dword [esp + 0xb0], eax
mov dword [esp + 0x7c], ecx
mov edx, dword [ecx + 0x10]
mov dword [esp], eax
call edx
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 4]
mov dword [esp + 0x80], edx
mov ebx, dword [eax + 0x20]
mov ecx, dword [ecx + 0x14]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x5e06c4
lea ebx, [eax + 1]
mov edx, eax
mov eax, ebx
mov ebx, edx
cmp ecx, 0xffffffff
je 0x5e01ed
cdq
idiv ecx
jmp 0x5e01ef
xor edx, edx
mov eax, ecx
sub eax, edx
cmp ecx, 0xffffffff
je 0x5e01fd
cdq
idiv ecx
jmp 0x5e01ff
xor edx, edx
add ebx, edx
mov ebp, dword [esp + 0x70]
lea ebx, [ebx + ebp + 1]
mov eax, dword [esp + 0x5c]
cdq
idiv ecx
test edx, edx
jne 0x5e0368
mov eax, dword [esp + 0x5c]
cmp eax, ebx
jl 0x5e0368
test ebp, ebp
jle 0x5e0354
mov edx, dword [esp + 0x74]
cmp ebp, edx
ja 0x5e06bd
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x18]
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov esi, dword [esp + 0xac]
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
call ecx
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
ja 0x5e06b8
sub ecx, eax
mov edx, dword [esp + 0x74]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0xac]
add eax, edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ebx
mov edx, dword [esp + 0x7c]
mov edx, dword [edx + 0x14]
mov ebp, dword [esp + 0xb0]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
call edx
mov eax, dword [esp + 0xc0]
cmp word [eax + 0x10], 0x300
jne 0x5e031f
mov edx, dword [esp + 0x60]
cmp edx, 1
jge 0x5e02ff
xor ecx, ecx
xor ebx, ebx
mov eax, dword [esp + 0x64]
mov ebp, ebx
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dword [esp + 0xa0], ebx
mov ebx, ecx
mov ecx, dword [esp + 0xa8]
jmp 0x5dfce4
mov ebx, dword [esp + 0xa8]
movzx ebp, byte [edx + ebx - 1]
inc ebp
cmp ebp, edx
jle 0x5e0316
xor ecx, ecx
xor ebx, ebx
jmp 0x5e02de
mov ecx, ebp
mov ebx, 0xffffffff
jmp 0x5e02de
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
call fcn.005dfa80
mov ecx, dword [esp + 0xc]
movzx ebx, byte [esp + 0x10]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x60]
jmp 0x5e02de
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x74]
jmp 0x5e0288
movzx eax, byte [0xa43f2e]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 0
lea ecx, [0xa4e740]
mov dword [esp + 0xe0], ecx
lea ecx, [0xd895e0]
add eax, ecx
mov dword [esp + 0xe4], eax
add esp, 0xbc
ret
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x70]
cmp eax, ebx
jl 0x5e05e2
mov ebp, dword [esp + 0x74]
cmp ebx, ebp
ja 0x5e06c9
test ebx, ebx
jne 0x5e05cf
mov esi, dword [esp + 0xc0]
lea edi, [esi + 0x24]
mov dword [esp + 0x94], eax
mov eax, 8
mov dword [esp + 0x74], eax
mov eax, 8
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xb8], edi
sub ebp, ebx
mov dword [esp + 0x68], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
mov edi, dword [esp + 0xac]
add ebp, edi
mov dword [esp + 0xa4], ebp
sub eax, ebx
mov dword [esp + 0x5c], eax
cmp word [esi + 0x10], 0x304
jne 0x5e0547
mov ebx, dword [esp + 0xc4]
mov edi, 5
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0xc4]
mov ecx, dword [ecx + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov edx, dword [esp + 0x68]
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0xb8]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x30], ebx
call ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
test ebx, ebx
jne 0x5e04f4
xor ebx, ebx
mov ebp, 0xffffffff
mov esi, ecx
mov edi, eax
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x5c]
jmp 0x5dfce4
movzx eax, byte [0xa43f2d]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 0
lea ecx, [0xa4e740]
mov dword [esp + 0xe0], ecx
lea ecx, [0xd895e0]
add eax, ecx
mov dword [esp + 0xe4], eax
add esp, 0xbc
ret
mov ebx, dword [esi + 0x28]
mov edi, dword [esi + 0x24]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], ebx
lea ebx, [esi + 0x34]
mov edi, dword [esp + 0xc4]
cmp ebx, edi
je 0x5e056f
movzx ebx, byte [edi + 2]
movzx edi, word [edi]
mov word [esi + 0x34], di
mov byte [esi + 0x36], bl
mov dword [esp + 0x78], ecx
mov dword [esp + 0xb4], edx
mov eax, dword [ecx + 0x18]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
sub ecx, eax
mov eax, ecx
sar ecx, 8
mov ebx, dword [esp + 0xc0]
mov byte [ebx + 0x37], cl
mov byte [ebx + 0x38], al
lea eax, [ebx + 0x2c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xa4]
mov ebx, eax
mov edi, 0xd
mov esi, 0xd
mov dword [esp + 0x84], esi
mov eax, dword [esp + 0x5c]
jmp 0x5e0464
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0xac]
jmp 0x5e0409
movzx eax, byte [0xa43f2c]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 0
lea ecx, [0xa4e740]
mov dword [esp + 0xe0], ecx
lea ecx, [0xd895e0]
add eax, ecx
mov dword [esp + 0xe4], eax
add esp, 0xbc
ret
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0xac]
xor edi, edi
mov ebx, 0xffffffff
mov byte [esp + 0x4a], bl
mov ebx, edx
mov ebp, ecx
mov dword [esp + 0x58], eax
movzx esi, byte [esp + 0x4b]
jmp 0x5dfdb3
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], esi
mov byte [esp + 0xdc], bl
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
add esp, 0xbc
ret
mov eax, ecx
mov ecx, ebx
call fcn.004570c0
mov eax, ebp
call fcn.004570c0
call fcn.004570a0
mov eax, ebx
mov ecx, edi
call fcn.00457060
call fcn.004570c0
mov ecx, ebp
call fcn.004570a0
call fcn.0042c410
mov ecx, ebx
mov edx, ebp
call fcn.004570a0
lea eax, [0x8eba40]
mov dword [esp], eax
lea eax, [0xa44be8]
mov dword [esp + 4], eax
call fcn.0042cff0
mov eax, 5
call fcn.004570c0
xor eax, eax
call fcn.00457060
nop
call fcn.004557a0
jmp fcn.005dfba0