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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [esp + 0x70]
lea eax, [ebx + 0x6c]
mov dword [esp], eax
lea ecx, [esp + 0x3a]
call fcn.005a5194
push ecx
mov esi, eax
mov edi, dword [ebx + 0xc]
and edi, 0x4a
cmp edi, 0x40
je 0x5ae2ec
cmp edi, 8
je 0x5ae310
mov dword [esp + 0x18], 0xa
lea ebp, [esp + 0x68]
mov dword [esp], ebp
lea ecx, [esp + 0x60]
call fcn.005a58ac
push edx
mov byte [esp + 0x2d], al
test al, al
je 0x5ae1d0
xor ebx, ebx
mov byte [esp + 0x2f], 0
mov al, byte [esi + 0x10]
mov dword [esp + 0x14], 0
mov byte [esp + 0x2e], 0
cmp dword [esp + 0x18], 0x10
je 0x5ae2dd
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], 0x5fbbc0
test al, al
jne 0x5ae1b4
mov eax, 0xffffffff
xor edx, edx
div dword [esp + 0x18]
mov dword [esp + 0x24], eax
lea edx, [esi + 0x78]
mov dword [esp + 0x1c], edx
xor edi, edi
xor ebp, ebp
cmp byte [esi + 0xa4], 0
je 0x5ade94
cmp byte [esp + 0x2d], 0
jne 0x5adea0
nop
cmp byte [esi + 0x10], 0
je 0x5add38
cmp word [esi + 0x26], bx
je 0x5adf88
cmp word [esi + 0x24], bx
je 0x5adea0
mov edx, dword [esp + 0x20]
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00597ab0
test eax, eax
je 0x5adea0
sub eax, dword [esp + 0x1c]
sar eax, 1
cmp eax, 0xf
jle 0x5add70
sub eax, 6
cmp dword [esp + 0x24], edi
jb 0x5adefc
imul edi, dword [esp + 0x18]
mov edx, eax
not edx
cmp edx, edi
setb dl
or ebp, edx
add edi, eax
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x5adf0d
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae50a
add eax, 2
mov dword [ecx + 8], eax
mov word [esp + 0x64], 0xffff
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae54d
mov ax, word [eax]
cmp ax, 0xffff
je 0x5adfbc
mov word [esp + 0x64], ax
xor ebx, ebx
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x5adf1c
cmp word [esp + 0x6c], 0xffff
je 0x5adf64
xor eax, eax
cmp bl, al
jne 0x5adf26
xor ebx, ebx
mov byte [esp + 0x2d], 1
mov eax, dword [esp + 0x3c]
mov edx, dword [eax - 0xc]
test edx, edx
jne 0x5adeb1
lea esi, [esi]
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x5ade70
cmp byte [esp + 0x2e], 0
jne 0x5ade70
mov esi, dword [eax - 0xc]
test esi, esi
jne 0x5ade70
mov edx, dword [esp + 0x78]
mov dword [edx], 0
mov edx, dword [esp + 0x74]
mov dword [edx], 4
cmp byte [esp + 0x2d], 0
je 0x5ade48
mov edx, dword [esp + 0x74]
or dword [edx], 2
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
lea ebx, [eax - 0xc]
cmp ebx, 0x5fbbb4
jne 0x5ae5e6
mov eax, esi
mov edx, edi
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
test bl, bl
jne 0x5ade26
mov edx, ebp
test dl, dl
je 0x5ae2fc
mov edx, dword [esp + 0x78]
mov dword [edx], 0xffffffff
mov edx, dword [esp + 0x74]
mov dword [edx], 4
jmp 0x5ade3a
cmp byte [esp + 0x2d], 0
je 0x5adfe8
nop
xor ebx, ebx
mov eax, dword [esp + 0x3c]
mov edx, dword [eax - 0xc]
test edx, edx
je 0x5ade10
lea eax, [esp + 0x3c]
mov dword [esp + 0x28], eax
movsx eax, byte [esp + 0x14]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
call fcn.005c958c
push ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005e8734
test al, al
jne 0x5adef3
mov eax, dword [esp + 0x74]
mov dword [eax], 4
mov eax, dword [esp + 0x3c]
jmp 0x5ade10
mov ebp, 1
mov ecx, dword [esp + 0x60]
test ecx, ecx
jne 0x5add9c
mov bl, 1
mov ecx, dword [esp + 0x68]
test ecx, ecx
jne 0x5adde1
nop
mov al, 1
cmp bl, al
je 0x5addf7
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x5adfdc
movzx ebx, word [esp + 0x64]
cmp bx, 0xffff
jne 0x5add28
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae5bc
movzx ebx, word [eax]
cmp bx, 0xffff
je 0x5ae13c
mov word [esp + 0x64], bx
jmp 0x5add28
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae55f
mov ax, word [eax]
cmp ax, 0xffff
je 0x5adfcc
mov word [esp + 0x6c], ax
xor eax, eax
jmp 0x5addef
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x5ae4bd
lea eax, [esp + 0x3c]
mov dword [esp + 0x28], eax
movsx eax, byte [esp + 0x14]
mov dword [esp], eax
lea ecx, [esp + 0x3c]
call fcn.005c958c
push ecx
mov dword [esp + 0x14], 0
jmp 0x5add90
mov dword [esp + 0x60], 0
mov bl, 1
jmp 0x5addd5
mov dword [esp + 0x68], 0
mov al, 1
jmp 0x5addef
mov ebx, 0xffff
jmp 0x5add28
mov eax, dword [esp + 0x20]
add eax, 0x30
mov word [esp + 0x1c], ax
cmp dword [esp + 0x20], 0xa
ja 0x5ae0e4
cmp bx, 0x2f
jbe 0x5adea0
cmp bx, word [esp + 0x1c]
jae 0x5adea0
sub ebx, 0x30
cmp dword [esp + 0x24], edi
jb 0x5ae114
imul edi, dword [esp + 0x18]
mov eax, ebx
not eax
cmp eax, edi
setb al
or ebp, eax
add edi, ebx
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x5ae125
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae4c4
add eax, 2
mov dword [ecx + 8], eax
mov word [esp + 0x64], 0xffff
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae571
mov ax, word [eax]
cmp ax, 0xffff
je 0x5ae178
mov word [esp + 0x64], ax
xor ebx, ebx
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x5ae134
cmp word [esp + 0x6c], 0xffff
je 0x5ae14c
xor eax, eax
cmp bl, al
je 0x5addf7
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x5ae198
movzx ebx, word [esp + 0x64]
cmp bx, 0xffff
jne 0x5adff4
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae5d1
movzx ebx, word [eax]
cmp bx, 0xffff
je 0x5ae1a4
mov word [esp + 0x64], bx
cmp dword [esp + 0x20], 0xa
jbe 0x5adfff
nop
lea eax, [ebx - 0x30]
cmp ax, 9
jbe 0x5ae014
lea eax, [ebx - 0x61]
cmp ax, 5
jbe 0x5ae170
lea eax, [ebx - 0x41]
cmp ax, 5
ja 0x5adea0
sub ebx, 0x37
cmp dword [esp + 0x24], edi
jae 0x5ae021
mov ebp, 1
mov ecx, dword [esp + 0x60]
test ecx, ecx
jne 0x5ae043
mov bl, 1
mov ecx, dword [esp + 0x68]
test ecx, ecx
jne 0x5ae088
nop
mov al, 1
jmp 0x5ae096
mov dword [esp + 0x60], 0
jmp 0x5add28
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae583
mov ax, word [eax]
cmp ax, 0xffff
je 0x5ae188
mov word [esp + 0x6c], ax
xor eax, eax
jmp 0x5ae096
sub ebx, 0x57
jmp 0x5ae017
mov dword [esp + 0x60], 0
mov bl, 1
jmp 0x5ae07c
mov dword [esp + 0x68], 0
mov al, 1
jmp 0x5ae096
mov ebx, 0xffff
jmp 0x5adff4
mov dword [esp + 0x60], 0
jmp 0x5adff4
lea eax, [esp + 0x3c]
mov dword [esp + 0x28], eax
mov dword [esp], 0x20
mov ecx, eax
call fcn.005c9314
push edi
jmp 0x5adcf4
lea ecx, [esp + 0x60]
call fcn.005a58d8
movzx ebx, ax
cmp word [esi + 0x70], bx
sete byte [esp + 0x2f]
je 0x5ae320
cmp word [esi + 0x72], bx
je 0x5ae320
mov al, byte [esi + 0x10]
mov dword [esp + 0x14], 0
mov byte [esp + 0x2e], 0
xor ebp, ebp
nop
test al, al
je 0x5ae216
cmp word [esi + 0x26], bx
je 0x5ae478
cmp word [esi + 0x24], bx
je 0x5ae478
cmp word [esi + 0x78], bx
je 0x5ae3c8
cmp byte [esp + 0x2e], 0
je 0x5ae478
cmp word [esi + 0x74], bx
je 0x5ae245
cmp word [esi + 0x76], bx
jne 0x5ae478
test edi, edi
je 0x5ae364
cmp dword [esp + 0x18], 0x10
jne 0x5ae494
xor ebp, ebp
mov byte [esp + 0x2e], 0
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x5ae37f
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae4eb
add eax, 2
mov dword [ecx + 8], eax
mov word [esp + 0x64], 0xffff
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae531
mov ax, word [eax]
cmp ax, 0xffff
je 0x5ae418
mov word [esp + 0x64], ax
xor edx, edx
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x5ae390
cmp word [esp + 0x6c], 0xffff
je 0x5ae3f4
xor eax, eax
cmp dl, al
jne 0x5ae39a
mov dword [esp + 0x14], ebp
mov al, byte [esi + 0x10]
mov byte [esp + 0x2d], 1
cmp dword [esp + 0x18], 0x10
jne 0x5adcdc
mov dword [esp + 0x20], 0x16
jmp 0x5adce4
mov dword [esp + 0x18], 8
jmp 0x5adc9d
cmp byte [esp + 0x2f], 0
je 0x5ae305
neg edi
mov edx, dword [esp + 0x78]
mov dword [edx], edi
jmp 0x5ade3a
mov dword [esp + 0x18], 0x10
jmp 0x5adc9d
mov al, byte [esi + 0x10]
test al, al
je 0x5ae331
cmp word [esi + 0x26], bx
je 0x5ae1f8
cmp word [esi + 0x24], bx
je 0x5ae1f8
lea ecx, [esp + 0x60]
call fcn.005e0d78
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.005eb1bc
test al, al
jne 0x5ae4a9
mov byte [esp + 0x2d], 1
jmp 0x5adcc1
xor ebp, ebp
mov byte [esp + 0x2e], 0
mov dword [esp + 0x18], 0x10
mov ecx, dword [esp + 0x60]
test ecx, ecx
jne 0x5ae26b
mov dl, 1
mov ecx, dword [esp + 0x68]
test ecx, ecx
jne 0x5ae2b0
lea esi, [esi]
mov al, 1
cmp dl, al
je 0x5ae2c6
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x5ae46c
movzx ebx, word [esp + 0x64]
cmp bx, 0xffff
je 0x5ae44c
cmp byte [esp + 0x2e], 0
je 0x5ae49d
mov al, byte [esi + 0x10]
jmp 0x5ae208
cmp byte [esp + 0x2e], 0
je 0x5ae3da
cmp dword [esp + 0x18], 0xa
jne 0x5ae235
test edi, edi
je 0x5ae438
inc ebp
cmp dword [esp + 0x18], 8
je 0x5ae5a2
mov byte [esp + 0x2e], 1
jmp 0x5ae25f
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae53b
mov ax, word [eax]
cmp ax, 0xffff
je 0x5ae428
mov word [esp + 0x6c], ax
xor eax, eax
jmp 0x5ae2be
mov dword [esp + 0x60], 0
mov dl, 1
jmp 0x5ae2a4
mov dword [esp + 0x68], 0
mov al, 1
jmp 0x5ae2be
xor ebp, ebp
mov byte [esp + 0x2e], 1
mov dword [esp + 0x18], 8
jmp 0x5ae25f
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x5ae595
movzx ebx, word [eax]
cmp bx, 0xffff
je 0x5ae484
mov word [esp + 0x64], bx
jmp 0x5ae3b5
mov ebx, 0xffff
jmp 0x5ae3b5
mov dword [esp + 0x14], ebp
jmp 0x5adcd1
mov dword [esp + 0x60], 0
jmp 0x5ae3b5
mov dword [esp + 0x14], ebp
jmp 0x5adcdc
mov dword [esp + 0x14], ebp
mov al, byte [esi + 0x10]
jmp 0x5adcd1
lea ecx, [esp + 0x60]
call fcn.005a58d8
movzx ebx, ax
mov al, byte [esi + 0x10]
jmp 0x5ae1f8
mov bl, 1
jmp 0x5addfe
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
mov dword [esp + 0x28], edx
call dword [eax + 0x28]
mov ecx, dword [esp + 0x60]
mov word [esp + 0x64], 0xffff
test ecx, ecx
jne 0x5ae05c
mov bl, 1
jmp 0x5ae127
mov eax, dword [ecx]
call dword [eax + 0x28]
mov ecx, dword [esp + 0x60]
mov word [esp + 0x64], 0xffff
test ecx, ecx
jne 0x5ae284
mov dl, 1
jmp 0x5ae381
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
mov dword [esp + 0x28], edx
call dword [eax + 0x28]
mov ecx, dword [esp + 0x60]
mov word [esp + 0x64], 0xffff
test ecx, ecx
jne 0x5addb5
mov bl, 1
jmp 0x5adf0f
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x5ae293
mov eax, dword [ecx]
mov byte [esp + 0x10], dl
call dword [eax + 0x24]
mov dl, byte [esp + 0x10]
jmp 0x5ae403
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
mov dword [esp + 0x28], edx
call dword [eax + 0x24]
jmp 0x5addc4
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
mov dword [esp + 0x28], edx
call dword [eax + 0x24]
jmp 0x5adf73
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
mov dword [esp + 0x28], edx
call dword [eax + 0x24]
jmp 0x5ae06b
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
mov dword [esp + 0x28], edx
call dword [eax + 0x24]
jmp 0x5ae15b
mov eax, dword [ecx]
call dword [eax + 0x24]
movzx ebx, ax
jmp 0x5ae45b
xor ebp, ebp
jmp 0x5ae3ea
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
mov dword [esp + 0x28], edx
call dword [eax + 0x24]
movzx ebx, ax
jmp 0x5adf50
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
mov dword [esp + 0x28], edx
call dword [eax + 0x24]
movzx ebx, ax
jmp 0x5ae0c8
sub eax, 4
call fcn.005ee034
test eax, eax
jg 0x5ade5f
lea eax, [esp + 0x3b]
mov dword [esp], eax
mov ecx, ebx
call fcn.005c7c9c
push ebx
jmp 0x5ade5f