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

Disassembly:
mov ecx, dword [0x90eeac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x5daefe
sub esp, 0x88
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x98]
cmp ecx, eax
jle 0x5da78f
jbe 0x5daef8
lea ebx, [eax + 1]
mov ebp, dword [esp + 0x8c]
movzx esi, byte [ebp + eax]
cmp ecx, ebx
jle 0x5da732
mov edi, esi
and esi, 0x1f
xchg esi, eax
cmp al, 0x1f
xchg esi, eax
je 0x5daede
jmp 0x5da7ec
lea eax, [0x683840]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3c
lea ecx, [0x6ce5e5]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x71d694]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
lea eax, [0x683840]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
lea ecx, [0x6ca1f3]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x71d694]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
cmp ecx, ebx
jbe 0x5daed6
mov dword [esp + 0x28], ebx
movzx esi, byte [ebp + ebx]
lea edx, [ebx + 1]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jbe 0x5da984
and esi, 0x7f
cmp esi, 4
jg 0x5da927
jne 0x5da891
cmp ecx, edx
jbe 0x5daecf
movzx eax, byte [ebp + ebx + 1]
cmp eax, 0x7f
jg 0x5da834
mov eax, dword [esp + 0x98]
jmp 0x5da891
lea eax, [0x683840]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x23
lea ecx, [0x6c83fe]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x71d694]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
cmp ecx, edx
jbe 0x5daec8
movzx eax, byte [ebp + ebx + 1]
test eax, eax
je 0x5da8ca
lea eax, [ebx + esi + 1]
mov ebx, dword [esp + 0x94]
cmp ebx, eax
jb 0x5daebf
cmp eax, edx
jb 0x5daeb6
xchg edi, eax
mov byte [esp + 0x27], al
xchg edi, eax
xor eax, eax
jmp 0x5dae98
lea eax, [0x683840]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
lea ecx, [0x6ca21b]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x71d694]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
lea eax, [0x683840]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x6c6f25]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x71d694]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
jne 0x5da98d
mov esi, 0
jmp 0x5da992
xchg esi, eax
movzx eax, al
xchg esi, eax
sete al
test esi, esi
jl 0x5dab52
mov dword [esp + 0x38], esi
add esi, edx
cmp ecx, esi
jl 0x5daaf5
mov ebx, dword [esp + 0x94]
cmp ebx, esi
jb 0x5dae7e
cmp edx, esi
ja 0x5dae75
mov dword [esp + 0x3c], esi
mov byte [esp + 0x26], al
sub ebx, edx
mov dword [esp + 0x48], ebx
neg ebx
sar ebx, 0x1f
and ebx, edx
add ebx, ebp
test al, al
je 0x5daa45
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x5daad9
lea eax, [0x683840]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3b
lea ecx, [0x6ce406]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x71d694]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x5daad9
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x28]
cmp edi, ecx
ja 0x5dae6e
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x94]
sub eax, edi
sub ecx, edi
mov edx, eax
neg eax
sar eax, 0x1f
and edi, eax
lea eax, [ebp + edi]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x84], eax
lea eax, [0x699260]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00409f90
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0x26]
test cl, cl
mov ecx, dword [esp + 0x44]
lea edx, [0x71d9b0]
jmp 0x5dae28
mov ebx, dword [esp + 0x94]
xor edi, edi
xor edi, edi
mov dword [esp + 0x4c], edi
xor edi, edi
mov dword [esp + 0x2c], edi
xor edi, edi
jmp 0x5dabda
lea eax, [0x683840]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x33
lea ecx, [0x6ccffe]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x71d694]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
lea eax, [0x683840]
mov dword [esp], eax
call fcn.0040bdb0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x37
lea ecx, [0x6cdc76]
mov dword [eax], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x71d694]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x88
ret
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x3c]
mov eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x48]
mov edi, esi
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x30], edi
cmp edx, esi
jl 0x5dabea
test al, al
je 0x5dadb5
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.005da6d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x5dad7b
mov dword [esp + 0x48], ecx
mov ebp, dword [esp + 0x2c]
inc ebp
mov esi, dword [esp + 0x30]
cmp esi, ebp
jb 0x5dac2d
mov eax, dword [esp + 0x4c]
jmp 0x5dac75
mov dword [esp + 0x50], ebx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x681d00]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
mov esi, edi
mov dword [esp + 0x4c], eax
lea edi, [eax + ebp*8 - 8]
mov dword [edi], edx
mov edx, dword [0x90f128]
lea edi, [eax + ebp*8 - 4]
test edx, edx
jne 0x5dac96
movzx edx, byte [esp + 0x26]
test dl, dl
jmp 0x5dacb8
mov edx, edi
call fcn.00471470
mov dword [edi], ebx
mov eax, dword [edx]
mov dword [edi + 4], eax
movzx edi, byte [esp + 0x26]
xchg edi, eax
test al, al
xchg edi, eax
mov eax, dword [esp + 0x4c]
mov edi, edx
movzx edx, byte [esp + 0x26]
mov dword [edi], ebx
je 0x5dabaf
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov edx, dword [esp + 0x90]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x94]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.005daf10
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5dad41
movzx edx, byte [esp + 0x10]
test dl, dl
jne 0x5dad1c
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
jmp 0x5dabaf
movzx eax, byte [esp + 0x26]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
jmp 0x5dadb9
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0x88
ret
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0x88
ret
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x48], edx
mov esi, dword [esp + 0x98]
mov edx, dword [esp + 0x28]
cmp esi, edx
ja 0x5dae65
sub ebx, esi
sub edx, esi
mov eax, ebx
neg ebx
sar ebx, 0x1f
and esi, ebx
lea ebx, [ebp + esi]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edi
lea eax, [0x6956e0]
mov dword [esp], eax
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
call fcn.00409f90
mov eax, dword [esp + 8]
movzx ecx, byte [esp + 0x26]
test cl, cl
mov ecx, dword [esp + 0x48]
lea edx, [0x71d9c0]
je 0x5dae2f
lea esi, [ecx + 2]
jmp 0x5dae33
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
add esp, 0x88
ret
mov eax, esi
mov ecx, edx
call fcn.00471540
mov eax, edi
call fcn.00471540
mov eax, edx
mov ecx, esi
call fcn.00471540
mov ecx, esi
mov edx, ebx
call fcn.00471520
shl eax, 8
movzx edi, byte [ebp + edx]
dec esi
add eax, edi
inc edx
movzx edi, byte [esp + 0x27]
test esi, esi
jle 0x5daea2
cmp ecx, edx
ja 0x5dae87
jmp 0x5daeaf
mov ebx, dword [esp + 0x28]
mov esi, eax
xor eax, eax
jmp 0x5da995
mov eax, edx
call fcn.004714e0
mov ecx, eax
mov eax, edx
call fcn.00471540
mov ecx, eax
mov edx, ebx
call fcn.00471520
mov eax, edx
call fcn.004714e0
mov eax, edx
call fcn.004714e0
mov eax, ebx
call fcn.004714e0
inc ebx
cmp ecx, ebx
jbe 0x5daef1
lea esi, [ebp + ebx]
cmp byte [esi], 0x80
jae 0x5daedd
inc ebx
jmp 0x5da7ec
mov eax, ebx
call fcn.004714e0
call fcn.004714e0
nop
call fcn.00470060
jmp fcn.005da6d0