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

Disassembly:
mov eax, 0x58
call fcn.00525ec0
mov eax, dword [esp + 0x5c]
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [eax + 0x58]
mov eax, dword [esi + 4]
cmp byte [eax], 3
push edi
mov dword [esp + 0x1c], ecx
jne 0x536c79
add eax, 4
mov dword [esi + 4], eax
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov edx, dword [esi + 8]
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 3
jb 0x536caa
inc edi
mov dword [esi + 4], edi
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp cl, 0xf0
je 0x536cb6
sub eax, edi
add eax, edx
cmp eax, 5
jb 0x536caa
add edi, 5
mov dword [esi + 4], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4
inc edi
mov ecx, eax
sub ecx, edi
add ecx, edx
mov dword [esi + 4], edi
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp cl, 0x7f
jne 0x536caa
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp cl, 0x66
jne 0x536caa
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
test cl, cl
jns 0x536d1e
and cl, 0x7f
mov ebx, eax
sub ebx, edi
movzx ebp, cl
add ebx, edx
cmp ebx, ebp
jb 0x536caa
cmp cl, 1
jne 0x536d13
inc edi
jmp 0x536d1b
cmp cl, 2
jne 0x536caa
add edi, 2
mov dword [esi + 4], edi
mov edi, dword [esi + 4]
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp cl, 0xa
jne 0x536caa
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
test cl, cl
jns 0x536d97
and cl, 0x7f
mov ebx, eax
sub ebx, edi
movzx ebp, cl
add ebx, edx
cmp ebx, ebp
jb 0x536caa
cmp cl, 1
jne 0x536d7a
movzx ecx, byte [edi]
inc edi
mov dword [esi + 4], edi
jmp 0x536d9a
cmp cl, 2
jne 0x536caa
movzx ebx, byte [edi]
movzx ecx, byte [edi + 1]
shl ebx, 8
add ecx, ebx
add edi, 2
mov dword [esi + 4], edi
jmp 0x536d9a
movzx ecx, cl
cmp ecx, 1
jne 0x536caa
mov edi, dword [esi + 4]
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
movzx ecx, cl
inc edi
inc ecx
cmp ecx, 0x10
mov dword [esi + 4], edi
jg 0x536caa
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp cl, 2
jne 0x536caa
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
test cl, cl
jns 0x536e3e
and cl, 0x7f
mov ebx, eax
sub ebx, edi
movzx ebp, cl
add ebx, edx
cmp ebx, ebp
jb 0x536caa
cmp cl, 1
jne 0x536e21
movzx ecx, byte [edi]
inc edi
mov dword [esi + 4], edi
jmp 0x536e41
cmp cl, 2
jne 0x536caa
movzx ecx, byte [edi]
movzx ebx, byte [edi + 1]
shl ecx, 8
add ecx, ebx
add edi, 2
mov dword [esi + 4], edi
jmp 0x536e41
movzx ecx, cl
mov edi, dword [esi + 4]
mov ebx, eax
sub ebx, edi
add ebx, edx
cmp ebx, ecx
jb 0x536caa
cmp ecx, 1
jne 0x536e5a
inc edi
jmp 0x536e77
cmp ecx, 2
jne 0x536e63
add edi, ecx
jmp 0x536e77
cmp ecx, 3
jne 0x536e6c
add edi, ecx
jmp 0x536e77
cmp ecx, 4
jne 0x536caa
add edi, ecx
mov ecx, eax
sub ecx, edi
add ecx, edx
mov dword [esi + 4], edi
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp cl, 0x30
jne 0x536caa
mov ecx, eax
sub ecx, edi
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [edi]
inc edi
mov dword [esi + 4], edi
test cl, cl
jns 0x536edc
and cl, 0x7f
mov ebx, eax
sub ebx, edi
movzx ebp, cl
add ebx, edx
cmp ebx, ebp
jb 0x536caa
cmp cl, 1
jne 0x536ecd
inc edi
jmp 0x536ed9
cmp cl, 2
jne 0x536caa
add edi, 2
mov dword [esi + 4], edi
mov ebp, dword [esi + 4]
mov ecx, eax
sub ecx, ebp
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [ebp]
inc ebp
mov dword [esi + 4], ebp
cmp cl, 2
jne 0x536caa
mov ecx, eax
sub ecx, ebp
add ecx, edx
cmp ecx, 1
jb 0x536caa
mov cl, byte [ebp]
inc ebp
mov dword [esi + 4], ebp
test cl, cl
jns 0x536f59
and cl, 0x7f
mov edi, eax
sub edi, ebp
movzx ebx, cl
add edi, edx
cmp edi, ebx
jb 0x536caa
cmp cl, 1
jne 0x536f3b
movzx edi, byte [ebp]
inc ebp
mov dword [esi + 4], ebp
jmp 0x536f5c
cmp cl, 2
jne 0x536caa
movzx ecx, byte [ebp]
movzx edi, byte [ebp + 1]
shl ecx, 8
add edi, ecx
add ebp, 2
mov dword [esi + 4], ebp
jmp 0x536f5c
movzx edi, cl
mov ecx, dword [esi + 4]
sub eax, ecx
add eax, edx
cmp eax, edi
jb 0x536caa
mov eax, dword [esp + 0x1c]
add eax, 8
jne 0x536f7b
add edi, ecx
mov dword [esi + 4], edi
jmp 0x536ff9
cmp edi, 1
jne 0x536f8a
movzx edx, byte [ecx]
mov dword [eax], edx
inc dword [esi + 4]
jmp 0x536ff9
mov ebx, 2
cmp edi, ebx
jne 0x536fa6
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx]
shl ecx, 8
add edx, ecx
mov dword [eax], edx
add dword [esi + 4], ebx
jmp 0x536ff9
cmp edi, 3
jne 0x536fcc
mov dl, byte [ecx]
inc ecx
mov dword [esi + 4], ecx
movzx edi, byte [ecx]
movzx ecx, byte [ecx + 1]
shl edi, 8
movzx edx, dl
add edi, ecx
mov dword [eax], edi
add dword [esi + 4], ebx
shl edx, 0x10
add dword [eax], edx
jmp 0x536ff9
cmp edi, 4
jne 0x536caa
movzx edi, byte [ecx]
movzx edx, byte [ecx + 1]
shl edi, 8
add edx, edi
movzx edi, byte [ecx + 2]
movzx ecx, byte [ecx + 3]
shl edx, 8
add edx, edi
shl edx, 8
add edx, ecx
mov dword [eax], edx
add dword [esi + 4], 4
mov ecx, dword [esi]
mov ebp, dword [esi + 8]
lea edi, [eax + 4]
mov eax, dword [esi + 4]
mov edx, ecx
sub edx, eax
add edx, ebp
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dl, 2
jne 0x536caa
mov edx, ecx
sub edx, eax
add edx, ebp
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
test dl, dl
jns 0x53707a
mov ebx, ecx
sub ebx, eax
and dl, 0x7f
add ebx, ebp
movzx ebp, dl
cmp ebx, ebp
jb 0x536caa
cmp dl, 1
jne 0x53705d
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
jmp 0x53707d
cmp dl, 2
jne 0x536caa
movzx ebx, byte [eax]
movzx edx, byte [eax + 1]
shl ebx, 8
add edx, ebx
add eax, 2
mov dword [esi + 4], eax
jmp 0x53707d
movzx edx, dl
mov eax, dword [esi + 4]
sub ecx, eax
add ecx, dword [esi + 8]
cmp ecx, edx
jb 0x536caa
test edi, edi
jne 0x537098
add edx, eax
mov dword [esi + 4], edx
jmp 0x537116
cmp edx, 1
jne 0x5370a7
movzx eax, byte [eax]
mov dword [edi], eax
inc dword [esi + 4]
jmp 0x537116
mov ebx, 2
cmp edx, ebx
jne 0x5370c3
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
add ecx, edx
mov dword [edi], ecx
add dword [esi + 4], ebx
jmp 0x537116
cmp edx, 3
jne 0x5370e9
mov cl, byte [eax]
inc eax
mov dword [esi + 4], eax
movzx edx, byte [eax]
movzx eax, byte [eax + 1]
shl edx, 8
movzx ecx, cl
add edx, eax
mov dword [edi], edx
add dword [esi + 4], ebx
shl ecx, 0x10
add dword [edi], ecx
jmp 0x537116
cmp edx, 4
jne 0x536caa
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
add edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [edi], edx
add dword [esi + 4], 4
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
mov edi, dword [esp + 0x1c]
mov edx, ecx
sub edx, eax
add edx, ebp
add edi, 0x10
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dl, 2
jne 0x536caa
mov edx, ecx
sub edx, eax
add edx, ebp
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
test dl, dl
jns 0x53719b
mov ebx, ecx
sub ebx, eax
and dl, 0x7f
add ebx, ebp
movzx ebp, dl
cmp ebx, ebp
jb 0x536caa
cmp dl, 1
jne 0x53717e
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
jmp 0x53719e
cmp dl, 2
jne 0x536caa
movzx ebx, byte [eax]
movzx edx, byte [eax + 1]
shl ebx, 8
add edx, ebx
add eax, 2
mov dword [esi + 4], eax
jmp 0x53719e
movzx edx, dl
mov eax, dword [esi + 4]
sub ecx, eax
add ecx, dword [esi + 8]
cmp ecx, edx
jb 0x536caa
test edi, edi
jne 0x5371b9
add edx, eax
mov dword [esi + 4], edx
jmp 0x537237
cmp edx, 1
jne 0x5371c8
movzx eax, byte [eax]
mov dword [edi], eax
inc dword [esi + 4]
jmp 0x537237
mov ebx, 2
cmp edx, ebx
jne 0x5371e4
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
add ecx, edx
mov dword [edi], ecx
add dword [esi + 4], ebx
jmp 0x537237
cmp edx, 3
jne 0x53720a
mov cl, byte [eax]
inc eax
mov dword [esi + 4], eax
movzx edx, byte [eax]
movzx eax, byte [eax + 1]
shl edx, 8
movzx ecx, cl
add edx, eax
mov dword [edi], edx
add dword [esi + 4], ebx
shl ecx, 0x10
add dword [edi], ecx
jmp 0x537237
cmp edx, 4
jne 0x536caa
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
add edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [edi], edx
add dword [esi + 4], 4
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
mov edi, dword [esp + 0x1c]
mov edx, ecx
sub edx, eax
add edx, ebp
add edi, 0x14
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dl, 2
jne 0x536caa
mov edx, ecx
sub edx, eax
add edx, ebp
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
test dl, dl
jns 0x5372bc
mov ebx, ecx
sub ebx, eax
and dl, 0x7f
add ebx, ebp
movzx ebp, dl
cmp ebx, ebp
jb 0x536caa
cmp dl, 1
jne 0x53729f
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
jmp 0x5372bf
cmp dl, 2
jne 0x536caa
movzx ebx, byte [eax]
movzx edx, byte [eax + 1]
shl ebx, 8
add edx, ebx
add eax, 2
mov dword [esi + 4], eax
jmp 0x5372bf
movzx edx, dl
mov eax, dword [esi + 4]
sub ecx, eax
add ecx, dword [esi + 8]
cmp ecx, edx
jb 0x536caa
test edi, edi
jne 0x5372da
add edx, eax
mov dword [esi + 4], edx
jmp 0x537358
cmp edx, 1
jne 0x5372e9
movzx eax, byte [eax]
mov dword [edi], eax
inc dword [esi + 4]
jmp 0x537358
mov ebx, 2
cmp edx, ebx
jne 0x537305
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
add ecx, edx
mov dword [edi], ecx
add dword [esi + 4], ebx
jmp 0x537358
cmp edx, 3
jne 0x53732b
mov cl, byte [eax]
inc eax
mov dword [esi + 4], eax
movzx edx, byte [eax]
movzx eax, byte [eax + 1]
shl edx, 8
movzx ecx, cl
add edx, eax
mov dword [edi], edx
add dword [esi + 4], ebx
shl ecx, 0x10
add dword [edi], ecx
jmp 0x537358
cmp edx, 4
jne 0x536caa
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
add edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [edi], edx
add dword [esi + 4], 4
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
mov edi, dword [esp + 0x1c]
mov edx, ecx
sub edx, eax
add edx, ebp
add edi, 0x18
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dl, 2
jne 0x536caa
mov edx, ecx
sub edx, eax
add edx, ebp
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
test dl, dl
jns 0x5373dd
mov ebx, ecx
sub ebx, eax
and dl, 0x7f
add ebx, ebp
movzx ebp, dl
cmp ebx, ebp
jb 0x536caa
cmp dl, 1
jne 0x5373c0
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
jmp 0x5373e0
cmp dl, 2
jne 0x536caa
movzx ebx, byte [eax]
movzx edx, byte [eax + 1]
shl ebx, 8
add edx, ebx
add eax, 2
mov dword [esi + 4], eax
jmp 0x5373e0
movzx edx, dl
mov eax, dword [esi + 4]
sub ecx, eax
add ecx, dword [esi + 8]
cmp ecx, edx
jb 0x536caa
test edi, edi
jne 0x5373fb
add edx, eax
mov dword [esi + 4], edx
jmp 0x537479
cmp edx, 1
jne 0x53740a
movzx eax, byte [eax]
mov dword [edi], eax
inc dword [esi + 4]
jmp 0x537479
mov ebx, 2
cmp edx, ebx
jne 0x537426
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
add ecx, edx
mov dword [edi], ecx
add dword [esi + 4], ebx
jmp 0x537479
cmp edx, 3
jne 0x53744c
mov cl, byte [eax]
inc eax
mov dword [esi + 4], eax
movzx edx, byte [eax]
movzx eax, byte [eax + 1]
shl edx, 8
movzx ecx, cl
add edx, eax
mov dword [edi], edx
add dword [esi + 4], ebx
shl ecx, 0x10
add dword [edi], ecx
jmp 0x537479
cmp edx, 4
jne 0x536caa
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
add edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [edi], edx
add dword [esi + 4], 4
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
mov edi, dword [esp + 0x1c]
mov edx, ecx
sub edx, eax
add edx, ebp
add edi, 0x1c
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dl, 2
jne 0x536caa
mov edx, ecx
sub edx, eax
add edx, ebp
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
test dl, dl
jns 0x5374fe
mov ebx, ecx
sub ebx, eax
and dl, 0x7f
add ebx, ebp
movzx ebp, dl
cmp ebx, ebp
jb 0x536caa
cmp dl, 1
jne 0x5374e1
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
jmp 0x537501
cmp dl, 2
jne 0x536caa
movzx ebx, byte [eax]
movzx edx, byte [eax + 1]
shl ebx, 8
add edx, ebx
add eax, 2
mov dword [esi + 4], eax
jmp 0x537501
movzx edx, dl
mov eax, dword [esi + 4]
sub ecx, eax
add ecx, dword [esi + 8]
cmp ecx, edx
jb 0x536caa
test edi, edi
jne 0x53751c
add edx, eax
mov dword [esi + 4], edx
jmp 0x53759a
cmp edx, 1
jne 0x53752b
movzx eax, byte [eax]
mov dword [edi], eax
inc dword [esi + 4]
jmp 0x53759a
mov ebx, 2
cmp edx, ebx
jne 0x537547
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
add ecx, edx
mov dword [edi], ecx
add dword [esi + 4], ebx
jmp 0x53759a
cmp edx, 3
jne 0x53756d
mov cl, byte [eax]
inc eax
mov dword [esi + 4], eax
movzx edx, byte [eax]
movzx eax, byte [eax + 1]
shl edx, 8
movzx ecx, cl
add edx, eax
mov dword [edi], edx
add dword [esi + 4], ebx
shl ecx, 0x10
add dword [edi], ecx
jmp 0x53759a
cmp edx, 4
jne 0x536caa
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
add edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [edi], edx
add dword [esi + 4], 4
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
mov edi, dword [esp + 0x1c]
mov edx, ecx
sub edx, eax
add edx, ebp
add edi, 0x20
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dl, 2
jne 0x536caa
mov edx, ecx
sub edx, eax
add edx, ebp
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
test dl, dl
jns 0x53761f
mov ebx, ecx
sub ebx, eax
and dl, 0x7f
add ebx, ebp
movzx ebp, dl
cmp ebx, ebp
jb 0x536caa
cmp dl, 1
jne 0x537602
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
jmp 0x537622
cmp dl, 2
jne 0x536caa
movzx ebx, byte [eax]
movzx edx, byte [eax + 1]
shl ebx, 8
add edx, ebx
add eax, 2
mov dword [esi + 4], eax
jmp 0x537622
movzx edx, dl
mov eax, dword [esi + 4]
sub ecx, eax
add ecx, dword [esi + 8]
cmp ecx, edx
jb 0x536caa
test edi, edi
jne 0x53763d
add edx, eax
mov dword [esi + 4], edx
jmp 0x5376bb
cmp edx, 1
jne 0x53764c
movzx eax, byte [eax]
mov dword [edi], eax
inc dword [esi + 4]
jmp 0x5376bb
mov ebx, 2
cmp edx, ebx
jne 0x537668
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
add ecx, edx
mov dword [edi], ecx
add dword [esi + 4], ebx
jmp 0x5376bb
cmp edx, 3
jne 0x53768e
mov cl, byte [eax]
inc eax
mov dword [esi + 4], eax
movzx edx, byte [eax]
movzx eax, byte [eax + 1]
shl edx, 8
movzx ecx, cl
add edx, eax
mov dword [edi], edx
add dword [esi + 4], ebx
shl ecx, 0x10
add dword [edi], ecx
jmp 0x5376bb
cmp edx, 4
jne 0x536caa
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
add edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [edi], edx
add dword [esi + 4], 4
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov ebp, dword [esi + 8]
mov edi, dword [esp + 0x1c]
mov edx, ecx
sub edx, eax
add edx, ebp
add edi, 0x24
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
cmp dl, 2
jne 0x536caa
mov edx, ecx
sub edx, eax
add edx, ebp
cmp edx, 1
jb 0x536caa
mov dl, byte [eax]
inc eax
mov dword [esi + 4], eax
test dl, dl
jns 0x537740
mov ebx, ecx
sub ebx, eax
and dl, 0x7f
add ebx, ebp
movzx ebp, dl
cmp ebx, ebp
jb 0x536caa
cmp dl, 1
jne 0x537723
movzx edx, byte [eax]
inc eax
mov dword [esi + 4], eax
jmp 0x537743
cmp dl, 2
jne 0x536caa
movzx ebx, byte [eax]
movzx edx, byte [eax + 1]
shl ebx, 8
add edx, ebx
add eax, 2
mov dword [esi + 4], eax
jmp 0x537743
movzx edx, dl
mov eax, dword [esi + 4]
sub ecx, eax
add ecx, dword [esi + 8]
cmp ecx, edx
jb 0x536caa
test edi, edi
jne 0x53775e
add edx, eax
mov dword [esi + 4], edx
jmp 0x5377dc
cmp edx, 1
jne 0x53776d
movzx eax, byte [eax]
mov dword [edi], eax
inc dword [esi + 4]
jmp 0x5377dc
mov ebx, 2
cmp edx, ebx
jne 0x537789
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
add ecx, edx
mov dword [edi], ecx
add dword [esi + 4], ebx
jmp 0x5377dc
cmp edx, 3
jne 0x5377af
mov cl, byte [eax]
inc eax
mov dword [esi + 4], eax
movzx edx, byte [eax]
movzx eax, byte [eax + 1]
shl edx, 8
movzx ecx, cl
add edx, eax
mov dword [edi], edx
add dword [esi + 4], ebx
shl ecx, 0x10
add dword [edi], ecx
jmp 0x5377dc
cmp edx, 4
jne 0x536caa
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
add edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [edi], edx
add dword [esi + 4], 4
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, eax
sub edx, edi
add edx, ecx
cmp edx, 1
jb 0x536caa
mov dl, byte [edi]
inc edi
mov dword [esi + 4], edi
cmp dl, 4
jne 0x536caa
mov edx, eax
sub edx, edi
add edx, ecx
cmp edx, 1
jb 0x536caa
mov dl, byte [edi]
inc edi
mov dword [esi + 4], edi
test dl, dl
jns 0x537846
and dl, 0x7f
mov ebx, eax
sub ebx, edi
movzx ebp, dl
add ebx, ecx
cmp ebx, ebp
jb 0x536caa
cmp dl, 1
jne 0x537837
inc edi
jmp 0x537843
cmp dl, 2
jne 0x536caa
add edi, 2
mov dword [esi + 4], edi
mov edx, dword [esp + 0x1c]
mov ebp, dword [edx + 4]
mov edx, dword [esi + 4]
mov edi, eax
sub edi, edx
add edi, ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], 0
cmp edi, 1
jb 0x53786b
inc edx
mov dword [esi + 4], edx
mov edi, dword [esi + 4]
mov edx, eax
sub edx, edi
add edx, ecx
cmp edx, 1
jb 0x5378d8
mov dl, byte [edi]
inc edi
mov dword [esi + 4], edi
test dl, dl
jns 0x5378b1
mov ebx, eax
sub ebx, edi
add ebx, ecx
cmp ebx, 1
jb 0x5378d8
and dl, 0x7f
movzx dx, dl
shl dx, 8
movzx edx, dx
mov dword [esp + 0x20], edx
mov dl, byte [edi]
movzx dx, dl
inc edi
add word [esp + 0x20], dx
mov dword [esi + 4], edi
jmp 0x5378bc
movzx dx, dl
movzx edx, dx
mov dword [esp + 0x20], edx
cmp word [esp + 0x20], 5
jne 0x5378d8
mov edx, dword [esi + 4]
mov edi, eax
sub edi, edx
add edi, ecx
cmp edi, 5
jb 0x5378d8
add edx, 5
mov dword [esi + 4], edx
mov edi, dword [esi + 4]
mov edx, eax
sub edx, edi
add edx, ecx
cmp edx, 1
jb 0x537929
mov dl, byte [edi]
inc edi
mov dword [esi + 4], edi
test dl, dl
jns 0x53791e
mov ebx, eax
sub ebx, edi
add ebx, ecx
cmp ebx, 1
jb 0x537929
and dl, 0x7f
movzx dx, dl
shl dx, 8
movzx edx, dx
mov dword [esp + 0x18], edx
mov dl, byte [edi]
movzx dx, dl
inc edi
add word [esp + 0x18], dx
mov dword [esi + 4], edi
jmp 0x537929
movzx dx, dl
movzx edx, dx
mov dword [esp + 0x18], edx
mov edx, dword [esi + 4]
mov edi, eax
sub edi, edx
add edi, ecx
cmp edi, 1
jb 0x53793b
inc edx
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
mov edi, eax
sub edi, edx
add edi, ecx
cmp edi, 2
jb 0x53794f
add edx, 2
mov dword [esi + 4], edx
mov edi, dword [esi + 4]
mov edx, eax
sub edx, edi
add edx, ecx
cmp edx, 1
jb 0x5379ce
mov dl, byte [edi]
inc edi
mov dword [esi + 4], edi
test dl, dl
jns 0x537998
mov ebx, eax
sub ebx, edi
add ebx, ecx
cmp ebx, 1
jb 0x5379ce
and dl, 0x7f
movzx dx, dl
shl dx, 8
movzx edx, dx
mov dword [esp + 0x20], edx
mov dl, byte [edi]
inc edi
mov dword [esi + 4], edi
movzx di, dl
mov dx, word [esp + 0x20]
add dx, di
jmp 0x5379a3
movzx dx, dl
movzx edx, dx
mov dword [esp + 0x20], edx
mov edi, dword [esi + 4]
mov ebx, eax
sub ebx, edi
movzx edi, dx
add ebx, ecx
cmp ebx, edi
jb 0x5379ce
cmp dx, 1
jne 0x5379bf
mov edx, dword [esi + 4]
inc edx
jmp 0x5379cb
cmp dx, 2
jne 0x5379ce
mov edx, dword [esi + 4]
add edx, 2
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
mov edi, eax
sub edi, edx
add edi, ecx
cmp edi, 1
jb 0x5379e0
inc edx
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
mov edi, eax
sub edi, edx
add edi, ecx
cmp edi, 1
jb 0x5379f2
inc edx
mov dword [esi + 4], edx
mov edx, dword [esi + 4]
mov edi, eax
sub edi, edx
add edi, ecx
cmp edi, 1
jb 0x537a04
inc edx
mov dword [esi + 4], edx
mov edi, dword [esi + 4]
mov edx, eax
sub edx, edi
add edx, ecx
cmp edx, 1
jb 0x536caa
mov dl, byte [edi]
inc edi
mov dword [esi + 4], edi
test dl, dl
jns 0x537a52
mov ebx, eax
sub ebx, edi
add ebx, ecx
cmp ebx, 1
jb 0x536caa
and dl, 0x7f
movzx dx, dl
shl dx, 8
movzx edx, dx
mov dword [esp + 0x20], edx
mov dl, byte [edi]
movzx dx, dl
inc edi
add word [esp + 0x20], dx
mov dword [esi + 4], edi
jmp 0x537a5d
movzx dx, dl
movzx edx, dx
mov dword [esp + 0x20], edx
movzx edx, word [esp + 0x20]
add edx, 4
cmp edx, 4
jne 0x536caa
mov edx, dword [esi + 4]
mov edi, eax
sub edi, edx
add edi, ecx
cmp edi, 4
jb 0x536caa
lea ebx, [edx + 4]
xor edi, edi
sub edx, 0x5b9930
mov dword [esi + 4], ebx
mov dword [esp + 0x24], edx
jmp 0x537a98
mov dl, byte [edx + edi + 0x5b9930]
cmp dl, byte [edi + 0x5b9930]
jne 0x536caa
inc edi
cmp edi, 4
jl 0x537a94