Function at 0x5e041b
Capabilities:
Encode data using base64
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd94
xor eax, eax
xor edx, edx
xor ecx, ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 8]
xor edx, edx
lea ebx, [ebp - 0x6c]
mov eax, dword [ecx]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], edx
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp + 0x10]
xor eax, eax
xor edx, edx
mov ecx, dword [ecx]
mov dword [ebx], ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], edx
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
xor eax, eax
mov dword [ebp - 0x80], eax
test byte [ebp - 0x4b], 8
setne dl
and edx, 1
mov dword [ebp - 0x84], edx
test byte [ebp - 0x4b], 2
setne cl
and ecx, 1
xor edx, edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
xor eax, 1
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x24], edx
mov eax, 0xfffffffe
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
test byte [ebp - 0x4c], 1
je 0x5df4da
mov edx, 1
jmp 0x5df4dc
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebx]
movzx esi, byte [eax]
test esi, esi
jne 0x5df4fd
cmp dword [ebp - 0x74], 0
je 0x5df4fd
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [ebx], eax
mov dword [ebp - 0x74], edx
mov ecx, dword [ebx]
movzx esi, byte [ecx]
cmp dword [ebp + 0x34], 0
je 0x5df597
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ecx + 0x3c]
add edx, 0xffffff9c
cmp edi, edx
jbe 0x5df528
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x34
jmp 0x5e3dbc
cmp edi, dword [ebp - 0x58]
jae 0x5df530
mov edi, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
mov ecx, edi
mov edx, 0x7fffffeb
sub edx, dword [eax]
sub ecx, dword [ebp - 0x58]
cmp edx, ecx
jge 0x5df551
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x5e3dbc
mov eax, edi
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x58]
add dword [edx], eax
cmp dword [ebp - 0x78], 0
je 0x5df58f
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x5c]
jbe 0x5df592
mov eax, edi
sub eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.005dc114
mov eax, dword [ebp - 0x78]
add esp, 0xc
sub eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x78], edx
sub edi, eax
jmp 0x5df592
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edi
jmp 0x5df5bc
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
add edx, dword [ecx + 0x3c]
add edx, 0xffffff9c
cmp edx, dword [eax + 0x20]
jae 0x5df5bc
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x5e3dbc
cmp dword [ebp - 0x64], 0
je 0x5df62c
test esi, esi
je 0x5df62c
cmp esi, 0x5c
jne 0x5df5e4
mov ecx, dword [ebx]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x45
jne 0x5df5e4
xor eax, eax
mov dword [ebp - 0x64], eax
inc dword [ebx]
jmp 0x5e3db5
cmp dword [ebp - 0x7c], 0
je 0x5df608
cmp dword [ebp + 0x34], 0
jne 0x5df603
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebx]
push ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.005defb0
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x4b], 0x40
je 0x5e3a95
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
push edi
call fcn.005def78
add esp, 0xc
mov edi, eax
jmp 0x5e3a95
test byte [ebp - 0x4c], 8
je 0x5df735
jmp 0x5df63f
inc dword [ebx]
mov edx, dword [ebx]
movzx esi, byte [edx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0xc]
test byte [edx + esi], 1
jne 0x5df638
cmp esi, 0x23
jne 0x5df735
inc dword [ebx]
jmp 0x5df720
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x7c], 0
je 0x5df6a7
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebx]
jbe 0x5df69c
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp + 0x30]
add ecx, 0x80
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x7c]
push eax
mov edx, dword [ebx]
push edx
call fcn.005f7774
add esp, 0x14
test eax, eax
jne 0x5df6a0
xor ecx, ecx
jmp 0x5df6ee
mov ecx, 1
jmp 0x5df6ee
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x80]
cmp edx, dword [ebx]
jb 0x5df6e5
mov edx, dword [ebx]
mov esi, dword [ebp + 0x30]
mov cl, byte [edx]
cmp cl, byte [esi + 0x84]
jne 0x5df6e5
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x80], 1
je 0x5df6e9
mov edx, dword [ebx]
mov esi, dword [ebp + 0x30]
mov cl, byte [edx + 1]
cmp cl, byte [esi + 0x85]
je 0x5df6e9
xor ecx, ecx
jmp 0x5df6ee
mov ecx, 1
test ecx, ecx
je 0x5df6ff
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x80]
add dword [ebx], edx
jmp 0x5df72b
inc dword [ebx]
cmp dword [ebp - 0x84], 0
je 0x5df720
jmp 0x5df70e
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x5df70c
mov edx, dword [ebx]
cmp byte [edx], 0
jne 0x5df65b
mov ecx, dword [ebx]
movzx esi, byte [ecx]
jmp 0x5df63f
cmp esi, 0x2a
je 0x5df75b
cmp esi, 0x2b
je 0x5df75b
cmp esi, 0x3f
je 0x5df75b
cmp esi, 0x7b
jne 0x5df757
mov eax, dword [ebx]
inc eax
push eax
call fcn.005dc20c
pop ecx
test eax, eax
jne 0x5df75b
xor edx, edx
jmp 0x5df760
mov edx, 1
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0
jne 0x5df7a4
cmp dword [ebp - 0x7c], 0
je 0x5df7a4
cmp dword [ebp - 0x74], 0
jne 0x5df7a4
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x50], 0xffffffff
test ecx, ecx
jg 0x5df7a4
cmp dword [ebp + 0x34], 0
jne 0x5df79f
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
mov edx, dword [ebp - 0x7c]
push edx
call fcn.005defb0
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
test byte [ebp - 0x4b], 0x40
je 0x5df7ce
cmp dword [ebp - 0xa8], 0
jne 0x5df7ce
cmp dword [ebp - 0x74], 0
jne 0x5df7ce
mov dword [ebp - 0x7c], edi
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebx]
push edx
push edi
call fcn.005def78
add esp, 0xc
mov edi, eax
mov ecx, esi
cmp ecx, 0x3f
jg 0x5df81c
je 0x5e0b8d
cmp ecx, 0x29
jg 0x5df7fe
je 0x5df854
sub ecx, 1
jb 0x5df854
sub ecx, 0x23
je 0x5df8e3
sub ecx, 4
je 0x5e1c7e
jmp 0x5e3a95
sub ecx, 0x2a
je 0x5e0b6f
dec ecx
je 0x5e0b7d
sub ecx, 3
je 0x5df8fc
jmp 0x5e3a95
cmp ecx, 0x5e
jg 0x5df843
je 0x5df8b9
sub ecx, 0x5b
je 0x5df958
dec ecx
je 0x5e369e
dec ecx
je 0x5df938
jmp 0x5e3a95
sub ecx, 0x7b
je 0x5e0b3a
dec ecx
je 0x5df854
jmp 0x5e3a95
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ecx], eax
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], edi
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx]
mov dword [eax], edx
cmp dword [ebp + 0x34], 0
je 0x5df8af
mov ecx, dword [ebp + 0x34]
mov edx, edi
mov eax, 0x7fffffeb
sub eax, dword [ecx]
sub edx, dword [ebp - 0x58]
cmp eax, edx
jge 0x5df8a7
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x5e3dbc
sub edi, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
add dword [eax], edi
mov eax, 1
jmp 0x5e3dc5
xor edx, edx
mov dword [ebp - 0x78], edx
test byte [ebp - 0x4c], 2
je 0x5df8da
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5df8d1
mov dword [ebp - 0x28], 0xffffffff
mov byte [edi], 0x1c
inc edi
jmp 0x5e3db5
mov byte [edi], 0x1b
inc edi
jmp 0x5e3db5
xor ecx, ecx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0x4c], 2
je 0x5df8f2
mov cl, 0x1a
jmp 0x5df8f4
mov cl, 0x19
mov byte [edi], cl
inc edi
jmp 0x5e3db5
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5df909
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 4
je 0x5df92e
mov dl, 0xd
jmp 0x5df930
mov dl, 0xc
mov byte [edi], dl
inc edi
jmp 0x5e3db5
mov eax, dword [ebp + 0x30]
test byte [eax + 0x63], 2
je 0x5e3a95
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x40
jmp 0x5e3dbc
push 6
push 0x6780ad
mov ecx, dword [ebx]
inc ecx
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5df982
mov eax, dword [ebx]
add eax, 7
mov dword [ebp - 0x74], eax
mov dword [ebx], 0x67713a
jmp 0x5e3db5
push 6
push str._:_:__
mov edx, dword [ebx]
inc edx
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5df9ac
mov ecx, dword [ebx]
add ecx, 7
mov dword [ebp - 0x74], ecx
mov dword [ebx], 0x677143
jmp 0x5e3db5
mov dword [ebp - 0x78], edi
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x5df9d3
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x5df9d3
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x5dfa08
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.005dee00
add esp, 8
test eax, eax
je 0x5dfa08
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
jne 0x5df9f9
mov edx, 0xd
jmp 0x5df9fe
mov edx, 0x1f
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x5e3dbc
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
inc dword [ebx]
mov ecx, dword [ebx]
movzx esi, byte [ecx]
cmp esi, 0x5c
jne 0x5dfa48
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x5dfa2c
inc dword [ebx]
jmp 0x5dfa10
push 3
push 0x6780bb
mov ecx, dword [ebx]
inc ecx
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5dfa62
add dword [ebx], 3
jmp 0x5dfa10
cmp dword [ebp - 0x9c], 0
jne 0x5dfa62
cmp esi, 0x5e
jne 0x5dfa62
mov dword [ebp - 0x9c], 1
jmp 0x5dfa10
cmp esi, 0x5d
jne 0x5dfaa0
mov ecx, dword [ebp + 0x30]
test byte [ecx + 0x63], 2
je 0x5dfaa0
cmp dword [ebp - 0x9c], 0
je 0x5dfa7d
mov al, 0xd
jmp 0x5dfa7f
mov al, 0x9d
mov byte [edi], al
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5dfa8f
mov dword [ebp - 0x28], 0xffffffff
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
jmp 0x5e3db5
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x94], eax
lea edx, [edi + 4]
xor eax, eax
mov dword [ebp - 0x90], edx
xor edx, edx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb8], edx
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
push 0x20
lea eax, [ebp - 0x244]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
test esi, esi
je 0x5e099b
cmp dword [ebp - 0x84], 0
je 0x5dfc50
cmp esi, 0xc0
jb 0x5dfc50
mov edx, dword [ebx]
movzx esi, byte [edx]
cmp esi, 0xc0
jb 0x5dfc50
test esi, 0x20
jne 0x5dfb43
mov eax, dword [ebx]
and esi, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 6
and edx, 0x3f
or esi, edx
inc dword [ebx]
jmp 0x5dfc50
test esi, 0x10
jne 0x5dfb73
mov ecx, dword [ebx]
mov eax, dword [ebx]
and esi, 0xf
xor edx, edx
movzx ecx, byte [ecx + 1]
and ecx, 0x3f
mov dl, byte [eax + 2]
shl ecx, 6
and edx, 0x3f
shl esi, 0xc
or esi, ecx
or esi, edx
add dword [ebx], 2
jmp 0x5dfc50
test esi, 8
jne 0x5dfbb3
mov ecx, dword [ebx]
xor eax, eax
and esi, 7
mov edx, dword [ebx]
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0xc
and ecx, 0x3f
shl esi, 0x12
xor edx, edx
or esi, eax
mov eax, dword [ebx]
shl ecx, 6
or esi, ecx
mov dl, byte [eax + 3]
and edx, 0x3f
or esi, edx
add dword [ebx], 3
jmp 0x5dfc50
test esi, 4
jne 0x5dfbff
mov ecx, dword [ebx]
xor eax, eax
mov edx, dword [ebx]
and esi, 3
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0x12
and ecx, 0x3f
shl esi, 0x18
xor edx, edx
or esi, eax
mov eax, dword [ebx]
shl ecx, 0xc
or esi, ecx
mov ecx, dword [ebx]
mov dl, byte [eax + 3]
xor eax, eax
and edx, 0x3f
mov al, byte [ecx + 4]
shl edx, 6
and eax, 0x3f
or esi, edx
or esi, eax
add dword [ebx], 4
jmp 0x5dfc50
mov edx, dword [ebx]
xor ecx, ecx
and esi, 1
mov eax, dword [ebx]
mov cl, byte [edx + 1]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 2]
shl ecx, 0x18
and edx, 0x3f
shl esi, 0x1e
xor eax, eax
or esi, ecx
mov ecx, dword [ebx]
shl edx, 0x12
or esi, edx
mov al, byte [ecx + 3]
and eax, 0x3f
mov edx, dword [ebx]
shl eax, 0xc
xor ecx, ecx
or esi, eax
mov eax, dword [ebx]
mov cl, byte [edx + 4]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 5]
shl ecx, 6
and edx, 0x3f
or esi, ecx
or esi, edx
add dword [ebx], 5
cmp dword [ebp + 0x34], 0
je 0x5dfc8b
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x98]
jbe 0x5dfc8b
mov dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x98]
add dword [edx], eax
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x90], ecx
cmp dword [ebp - 0x64], 0
je 0x5dfcbb
cmp esi, 0x5c
jne 0x5e044d
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x5e044d
xor ecx, ecx
mov dword [ebp - 0x64], ecx
inc dword [ebx]
jmp 0x5e0962
cmp esi, 0x5b
jne 0x5e0041
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x5dfcec
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x5dfcec
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x5e0041
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.005dee00
add esp, 8
test eax, eax
je 0x5e0041
xor ecx, ecx
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 8]
mov dword [ebp - 0x10c], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
je 0x5dfd31
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1f
jmp 0x5e3dbc
add dword [ebx], 2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5e
jne 0x5dfd55
mov dword [ebp - 0xfc], 1
mov dword [ebp - 0xa0], 1
inc dword [ebx]
mov edx, dword [ebp - 0x70]
sub edx, dword [ebx]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.005dee88
add esp, 8
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jge 0x5dfd83
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
jmp 0x5e3dbc
test byte [ebp - 0x4c], 1
je 0x5dfd9a
cmp dword [ebp - 0x100], 2
jg 0x5dfd9a
xor edx, edx
mov dword [ebp - 0x100], edx
test byte [ebp - 0x49], 0x20
je 0x5dfe96
xor ecx, ecx
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0xfc], 0
je 0x5dfdbc
mov eax, 0xe
jmp 0x5dfdbe
xor eax, eax
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
cmp dword [edx*4 + 0x676de4], 0
je 0x5dfdfb
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx*4 + 0x676de4]
dec eax
mov dword [ebx], eax
jmp 0x5e0962
mov edx, dword [ebp - 0x100]
sub edx, 8
je 0x5dfe11
dec edx
je 0x5dfe1b
dec edx
je 0x5dfe2e
jmp 0x5dfe96
mov dword [ebp - 0x110], 0xb
cmp dword [ebp - 0x110], 0
jne 0x5dfe2e
mov dword [ebp - 0x110], 0xc
cmp dword [ebp - 0x110], 0
jne 0x5dfe41
mov dword [ebp - 0x110], 0xd
cmp dword [ebp - 0xfc], 0
je 0x5dfe4e
mov cl, 4
jmp 0x5dfe50
mov cl, 3
mov eax, dword [ebp - 0x90]
mov byte [eax], cl
inc dword [ebp - 0x90]
mov dl, byte [ebp - 0x110]
mov eax, dword [ebp - 0x90]
mov byte [eax], dl
inc dword [ebp - 0x90]
mov edx, dword [ebp - 0x90]
mov byte [edx], 0
inc dword [ebp - 0x90]
mov dword [ebp - 0xbc], 1
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebx], ecx
jmp 0x5e0962
mov ecx, dword [ebp - 0x100]
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x100], ecx
push 0x20
mov eax, dword [ebp - 0x100]
mov edx, dword [eax*4 + 0x676d24]
add edx, dword [ebp - 0x10c]
push edx
lea ecx, [ebp - 0x264]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x100]
mov edx, dword [eax*4 + 0x676d28]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx*4 + 0x676d2c]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x104], 0
jl 0x5dff6c
cmp dword [ebp - 0x108], 0
jl 0x5dff37
xor esi, esi
lea eax, [ebp - 0x264]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
add edx, esi
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx + edx]
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5dff10
jmp 0x5dff6c
xor esi, esi
lea eax, [ebp - 0x264]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x10c]
add edx, esi
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx + edx]
not cl
and byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5dff45
cmp dword [ebp - 0x108], 0
jge 0x5dff7b
neg dword [ebp - 0x108]
cmp dword [ebp - 0x108], 1
jne 0x5dff8d
and byte [ebp - 0x263], 0xc3
jmp 0x5dff9d
cmp dword [ebp - 0x108], 2
jne 0x5dff9d
and byte [ebp - 0x259], 0x7f
cmp dword [ebp - 0xfc], 0
je 0x5dffe6
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x224], eax
lea edx, [ebp - 0x264]
mov dword [ebp - 0x220], edx
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x224]
inc esi
mov cl, byte [ecx]
not cl
or byte [eax], cl
inc dword [ebp - 0x224]
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5dffc0
jmp 0x5e0022
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
lea edx, [ebp - 0x264]
mov dword [ebp - 0x224], edx
mov ecx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x220]
inc esi
mov cl, byte [ecx]
or byte [eax], cl
inc dword [ebp - 0x220]
inc dword [ebp - 0x224]
cmp esi, 0x20
jb 0x5e0000
mov edx, dword [ebp - 0x70]
inc edx
mov dword [ebx], edx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xb8], 2
jmp 0x5e0962
cmp esi, 0x5c
jne 0x5e044d
push 1
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
lea eax, [ebp - 0xec]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push eax
push ebx
call fcn.005dc29c
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x5e3dbc
test esi, esi
jne 0x5e0088
mov esi, dword [ebp - 0xec]
jmp 0x5e044d
cmp esi, 5
jne 0x5e0097
mov esi, 8
jmp 0x5e044d
cmp esi, 0xc
jne 0x5e00af
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x47
jmp 0x5e3dbc
cmp esi, 0x1a
jne 0x5e00e5
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x5e00d4
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
jne 0x5e00d4
add dword [ebx], 2
jmp 0x5e0962
mov dword [ebp - 0x64], 1
jmp 0x5e0962
cmp esi, 0x19
je 0x5e0962
mov edx, dword [ebp + 0x30]
mov eax, esi
add eax, 0xfffffffa
mov ecx, dword [edx + 8]
mov dword [ebp - 0x118], ecx
inc dword [ebp - 0xb4]
add dword [ebp - 0xb8], 2
cmp eax, 0x1c
ja case.0x5e011b.6
mov al, byte [eax + 0x5e0122]
jmp dword [eax*4 + 0x5e013f]
mov edx, dword [ebx]
mov dword [ebp - 0x74], edx
mov ecx, dword [esi*4 + 0x676d58]
dec ecx
mov dword [ebx], ecx
dec dword [ebp - 0xb4]
jmp 0x5e0962
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi + 0x40]
inc esi
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5e019b
jmp 0x5e0962
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi + 0x40]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5e01d6
jmp 0x5e0962
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi + 0xa0]
inc esi
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5e0209
jmp 0x5e0962
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi + 0xa0]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5e0247
jmp 0x5e0962
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi]
inc esi
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5e027d
jmp 0x5e0962
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x220]
mov cl, byte [edx + esi]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5e02b7
jmp 0x5e0962
push 0xffffffffffffffff
push 0x678174
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x90]
push ecx
lea eax, [ebp - 0x244]
push eax
call fcn.005df330
add esp, 0x18
jmp 0x5e0962
push 0x678174
lea eax, [ebp - 0x90]
mov edx, dword [ebp + 0x30]
push edx
lea edx, [ebp - 0x244]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.005df390
add esp, 0x14
jmp 0x5e0962
push 0xffffffffffffffff
push 0x6781c4
mov ecx, dword [ebp + 0x30]
lea edx, [ebp - 0x90]
push ecx
lea ecx, [ebp - 0x244]
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
call fcn.005df330
add esp, 0x18
jmp 0x5e0962
push 0x6781c4
lea ecx, [ebp - 0x90]
mov eax, dword [ebp + 0x30]
push eax
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.005df390
add esp, 0x14
jmp 0x5e0962
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x124], ecx
mov eax, dword [ebp + 0x14]
lea edx, [ebp - 0x124]
push eax
push edx
lea ecx, [ebp - 0x120]
lea eax, [ebp - 0x11c]
push ecx
push eax
push ebx
call fcn.005dcb00
add esp, 0x14
test eax, eax
je 0x5e3dbc
cmp esi, 0x10
sete dl
and edx, 1
cmp edx, dword [ebp - 0x11c]
je 0x5e03ce
mov cl, 3
jmp 0x5e03d0
mov cl, 4
mov eax, dword [ebp - 0x90]
mov byte [eax], cl
inc dword [ebp - 0x90]
mov dl, byte [ebp - 0x120]
mov eax, dword [ebp - 0x90]
mov byte [eax], dl
inc dword [ebp - 0x90]
mov dl, byte [ebp - 0x124]
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
inc dword [ebp - 0x90]
mov dword [ebp - 0xbc], 1
dec dword [ebp - 0xb4]
jmp 0x5e0962
test byte [ebp - 0x4c], 0x40
je 0x5e042f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 7
jmp 0x5e3dbc
dec dword [ebp - 0xb4]
sub dword [ebp - 0xb8], 2
mov eax, dword [ebx]
movzx esi, byte [eax]
jmp 0x5e044d
xor eax, eax
mov dword [ebp - 0x64], eax
add dword [ebx], 2
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x5e0465
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
je 0x5e0445
mov edx, dword [ebx]
cmp esi, 0xd
mov dword [ebp - 0xf8], edx
je 0x5e0477
cmp esi, 0xa
jne 0x5e0481
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x800
cmp dword [ebp - 0x64], 0
jne 0x5e07fc
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2d
jne 0x5e07fc
add dword [ebx], 2
jmp 0x5e04a3
add dword [ebx], 2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5c
jne 0x5e04e4
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x45
je 0x5e04a0
jmp 0x5e04e4
add dword [ebx], 2
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5c
jne 0x5e04db
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x45
jne 0x5e04db
add dword [ebx], 2
jmp 0x5e04e4
mov dword [ebp - 0x64], 1
jmp 0x5e04fb
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x5c
jne 0x5e04fb
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x51
je 0x5e04bc
mov ecx, dword [ebx]
cmp byte [ecx], 0
je 0x5e0513
cmp dword [ebp - 0x64], 0
jne 0x5e0520
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5d
jne 0x5e0520
mov ecx, dword [ebp - 0xf8]
mov dword [ebx], ecx
jmp 0x5e07fc
cmp dword [ebp - 0x84], 0
je 0x5e06ba
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0xc0
jb 0x5e06c5
test byte [ebp - 0x128], 0x20
jne 0x5e0577
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x128]
and ecx, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
inc dword [ebx]
jmp 0x5e06c5
test byte [ebp - 0x128], 0x10
jne 0x5e05b5
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 0xf
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 6
shl ecx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 2
jmp 0x5e06c5
test byte [ebp - 0x128], 8
jne 0x5e0602
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 7
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0xc
shl ecx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 3
jmp 0x5e06c5
test byte [ebp - 0x128], 4
jne 0x5e065b
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 3
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0x12
shl ecx, 0x18
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 4
jmp 0x5e06c5
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x128]
and ecx, 1
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [ebx]
shl edx, 0x18
shl ecx, 0x1e
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
mov eax, dword [ebx]
and edx, 0x3f
shl edx, 6
or ecx, edx
xor edx, edx
mov dl, byte [eax + 5]
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x128], ecx
add dword [ebx], 5
jmp 0x5e06c5
mov ecx, dword [ebx]
movzx ecx, byte [ecx]
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x64], 0
jne 0x5e0787
cmp dword [ebp - 0x128], 0x5c
jne 0x5e0739
push 1
mov eax, dword [ebp - 0x4c]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
lea edx, [ebp - 0x128]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push edx
push ebx
call fcn.005dc29c
add esp, 0x18
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x5e3dbc
cmp dword [ebp - 0x12c], 0
je 0x5e0787
cmp dword [ebp - 0x12c], 5
jne 0x5e0729
mov dword [ebp - 0x128], 8
jmp 0x5e0787
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x5e3dbc
cmp dword [ebp - 0x128], 0x5b
jne 0x5e0787
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3a
je 0x5e0766
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2e
je 0x5e0766
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x5e0787
lea edx, [ebp - 0x70]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.005dee00
add esp, 8
test eax, eax
je 0x5e0787
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x5e3dbc
cmp esi, dword [ebp - 0x128]
jbe 0x5e079d
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x5e3dbc
cmp esi, dword [ebp - 0x128]
je 0x5e07fc
mov dword [ebp - 0xb8], 2
cmp dword [ebp - 0x128], 0xd
je 0x5e07c1
cmp dword [ebp - 0x128], 0xa
jne 0x5e07cb
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x800
mov eax, dword [ebp - 0x128]
push eax
push esi
mov edx, dword [ebp + 0x30]
lea eax, [ebp - 0x90]
push edx
lea edx, [ebp - 0x244]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.005df140
add esp, 0x18
add dword [ebp - 0xb4], eax
jmp 0x5e0962
cmp dword [ebp - 0xb8], 2
jge 0x5e080b
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 1
jne 0x5e093c
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x5d
jne 0x5e093c
inc dword [ebx]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x9c], 0
je 0x5e08fc
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e0850
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x84], 0
je 0x5e08c4
test byte [ebp - 0x4c], 1
je 0x5e08c4
mov ecx, esi
test ecx, ecx
jns 0x5e0874
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x686b18]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x5e0891
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x67a018]
xor eax, eax
mov al, byte [ecx*8 + 0x678c83]
mov dword [ebp - 0x130], eax
test eax, eax
je 0x5e08c4
mov byte [edi], 0xf
inc edi
mov byte [edi], 9
inc edi
mov dl, byte [ebp - 0x130]
mov byte [edi], dl
inc edi
jmp 0x5e3db5
test byte [ebp - 0x4c], 1
je 0x5e08ce
mov cl, 0x20
jmp 0x5e08d0
mov cl, 0x1f
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x84], 0
je 0x5e08f2
cmp esi, 0x7f
jbe 0x5e08f2
push edi
push esi
call fcn.005f7ba0
add esp, 8
add edi, eax
jmp 0x5e3db5
mov eax, esi
mov byte [edi], al
inc edi
jmp 0x5e3db5
cmp dword [ebp - 0x84], 0
je 0x5e0925
cmp esi, 0x7f
jbe 0x5e0925
lea edx, [ebp - 0xf4]
push edx
push esi
call fcn.005f7ba0
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x5e3ae8
mov ecx, esi
mov byte [ebp - 0xf4], cl
mov dword [ebp - 0xe4], 1
jmp 0x5e3ae8
push esi
push esi
mov eax, dword [ebp + 0x30]
lea ecx, [ebp - 0x90]
push eax
lea eax, [ebp - 0x244]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.005df140
add esp, 0x18
add dword [ebp - 0xb4], eax
inc dword [ebx]
mov edx, dword [ebx]
movzx esi, byte [edx]
test esi, esi
jne 0x5e0988
cmp dword [ebp - 0x74], 0
je 0x5e099b
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [ebx], eax
mov dword [ebp - 0x74], edx
inc dword [ebx]
mov ecx, dword [ebx]
movzx esi, byte [ecx]
test esi, esi
je 0x5e099b
cmp esi, 0x5d
jne 0x5dfaf8
cmp dword [ebp - 0x64], 0
jne 0x5dfaf8
test esi, esi
jne 0x5e09ad
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x5e3dbc
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x98]
jbe 0x5e09c5
mov dword [ebp - 0x94], 1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e09d2
mov dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x94], 0
je 0x5e0ad8
cmp dword [ebp - 0xa0], 0
je 0x5e0a0a
test byte [ebp - 0x49], 0x20
je 0x5e0ad8
mov ecx, dword [ebp - 0x90]
mov byte [ecx], 0
inc dword [ebp - 0x90]
mov byte [edi], 0x70
inc edi
add edi, 2
cmp dword [ebp - 0x9c], 0
je 0x5e0a2d
mov al, 1
jmp 0x5e0a2f
xor eax, eax
mov byte [edi], al
cmp dword [ebp - 0xbc], 0
je 0x5e0a3d
or byte [edi], 4
cmp dword [ebp - 0xb4], 0
jle 0x5e0ab1
or byte [edi], 2
inc edi
mov edx, dword [ebp - 0x90]
sub edx, edi
lea ecx, [edi + 0x20]
push edx
push edi
push ecx
call fcn.005dc114
add esp, 0xc
cmp dword [ebp - 0x9c], 0
je 0x5e0a94
cmp dword [ebp - 0xbc], 0
jne 0x5e0a94
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
not byte [edx]
inc esi
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5e0a80
push 0x20
lea ecx, [ebp - 0x244]
push ecx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [ebp - 0x90]
add edi, 0x20
jmp 0x5e0ab7
mov edi, dword [ebp - 0x90]
mov eax, edi
mov edx, dword [ebp - 0x78]
sub eax, dword [ebp - 0x78]
mov ecx, edi
sar eax, 8
mov byte [edx + 1], al
sub ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x78]
and cl, 0xff
mov byte [esi + 2], cl
jmp 0x5e3db5
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa0]
jne 0x5e0aea
mov dl, 0x6e
jmp 0x5e0aec
mov dl, 0x6f
mov byte [edi], dl
inc edi
cmp dword [ebp + 0x34], 0
jne 0x5e0b32
cmp dword [ebp - 0x9c], 0
je 0x5e0b20
xor esi, esi
lea eax, [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
not byte [edx]
inc esi
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x5e0b0c
push 0x20
lea ecx, [ebp - 0x244]
push ecx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, 0x20
jmp 0x5e3db5
cmp dword [ebp - 0xa8], 0
je 0x5e3a95
mov ecx, dword [ebp + 0x14]
push ecx
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0xc]
push edx
mov ecx, dword [ebx]
inc ecx
push ecx
call fcn.005dcc34
add esp, 0x10
mov dword [ebx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x5e3dbc
jmp 0x5e0b99
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], 0xffffffff
jmp 0x5e0b99
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0xffffffff
jmp 0x5e0b99
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x78], 0
jne 0x5e0bad
mov eax, dword [ebp + 0x14]
mov dword [eax], 9
jmp 0x5e3dbc
cmp dword [ebp - 0xc], 0
jne 0x5e0bcb
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x10]
jne 0x5e0bd7
xor eax, eax
jmp 0x5e0bdc
mov eax, 2
mov dword [ebp - 0x44], eax
xor edx, edx
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x60], ecx
test byte [ebp - 0x4c], 8
je 0x5e0cf1
mov esi, dword [ebx]
inc esi
jmp 0x5e0c02
inc esi
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [esi]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 1
jne 0x5e0c01
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x23
jne 0x5e0cee
inc esi
jmp 0x5e0ce0
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x7c], 0
je 0x5e0c6c
mov edx, dword [ebp + 0x30]
cmp esi, dword [edx + 0x1c]
jae 0x5e0c61
mov ecx, dword [ebp - 0x84]
push ecx
mov eax, dword [ebp + 0x30]
add eax, 0x80
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x1c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x7c]
push edx
push esi
call fcn.005f7774
add esp, 0x14
test eax, eax
jne 0x5e0c65
xor ecx, ecx
jmp 0x5e0caf
mov ecx, 1
jmp 0x5e0caf
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x80]
cmp esi, edx
ja 0x5e0ca6
mov dl, byte [esi]
mov ecx, dword [ebp + 0x30]
cmp dl, byte [ecx + 0x84]
jne 0x5e0ca6
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x80], 1
je 0x5e0caa
mov al, byte [esi + 1]
mov edx, dword [ebp + 0x30]
cmp al, byte [edx + 0x85]
je 0x5e0caa
xor ecx, ecx
jmp 0x5e0caf
mov ecx, 1
test ecx, ecx
je 0x5e0cc1
mov eax, dword [ebp + 0x30]
add esi, dword [eax + 0x80]
jmp 0x5e0c02
inc esi
cmp dword [ebp - 0x84], 0
je 0x5e0ce0
jmp 0x5e0cce
inc esi
xor edx, edx
mov dl, byte [esi]
and edx, 0xc0
cmp edx, 0x80
je 0x5e0ccd
cmp byte [esi], 0
jne 0x5e0c25
jmp 0x5e0c02
dec esi
mov dword [ebx], esi
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2b
jne 0x5e0d10
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xa4], 1
inc dword [ebx]
jmp 0x5e0d2c
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x5e0d26
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
inc dword [ebx]
jmp 0x5e0d2c
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x75
jne 0x5e0dfa
push 3
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x78]
add eax, 3
push eax
call fcn.005dc114
mov edx, dword [ebp - 0x78]
add esp, 0xc
add edi, 6
mov byte [edx], 0x81
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 1], 0
mov eax, dword [ebp - 0x78]
mov byte [eax + 2], 6
mov edx, dword [ebp - 0x78]
mov byte [edx + 6], 0x78
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 7], 0
mov eax, dword [ebp - 0x78]
mov byte [eax + 8], 6
mov dword [ebp - 0x54], 9
cmp dword [ebp + 0x34], 0
jne 0x5e0dfa
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov edx, dword [eax + 0x10]
add edx, 2
cmp ecx, edx
jb 0x5e0dfa
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov eax, dword [ecx + 0x20]
mov dl, byte [eax - 2]
mov eax, dword [ebp + 0x30]
shl edx, 8
mov ecx, dword [eax + 0x20]
xor eax, eax
mov al, byte [ecx - 1]
or edx, eax
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x78]
inc edx
sub edx, dword [ecx + 0x14]
cmp edx, dword [ebp - 0x134]
jne 0x5e0dfa
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x134]
add ecx, 3
sar ecx, 8
mov edx, dword [eax + 0x20]
mov byte [edx - 2], cl
mov eax, dword [ebp + 0x30]
mov cl, byte [ebp - 0x134]
add cl, 3
and cl, 0xff
mov edx, dword [eax + 0x20]
mov byte [edx - 1], cl
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x1d
je 0x5e0e2e
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x1e
je 0x5e0e2e
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1f
je 0x5e0e2e
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x20
jne 0x5e0efc
mov edx, dword [ebp - 0x78]
mov cl, byte [edx]
sub cl, 0x1d
je 0x5e0e44
dec cl
je 0x5e0e4b
dec cl
je 0x5e0e54
dec cl
je 0x5e0e5d
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x5e0e64
mov dword [ebp - 8], 0xd
jmp 0x5e0e64
mov dword [ebp - 8], 0x1a
jmp 0x5e0e64
mov dword [ebp - 8], 0x27
cmp dword [ebp - 0x84], 0
je 0x5e0ed0
xor edx, edx
mov dl, byte [edi - 1]
and edx, 0xc0
cmp edx, 0x80
jne 0x5e0ed0
lea ecx, [edi - 1]
mov dword [ebp - 0x138], ecx
jmp 0x5e0e91
dec dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x5e0e8b
mov esi, edi
sub esi, dword [ebp - 0x138]
push esi
mov eax, dword [ebp - 0x138]
push eax
lea edx, [ebp - 0x8c]
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
or esi, 0x10000000
jmp 0x5e0f19
movzx esi, byte [edi - 1]
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1e
jg 0x5e0f19
cmp dword [ebp - 0xc], 1
jle 0x5e0f19
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x68]
or ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ecx
jmp 0x5e0f19
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x17
jge 0x5e117c
mov dword [ebp - 8], 0x34
mov ecx, dword [ebp - 0x78]
movzx esi, byte [ecx]
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x10
je 0x5e0f30
mov ecx, dword [ebp - 0x78]
movzx ecx, byte [ecx]
cmp ecx, 0xf
jne 0x5e0f4e
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [ebp - 0x140], edx
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx + 2]
mov dword [ebp - 0x144], eax
jmp 0x5e0f5d
or edx, 0xffffffff
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], edi
cmp dword [ebp - 0x10], 0
mov edi, dword [ebp - 0x78]
je 0x5e1c6b
mov eax, dword [ebp - 8]
add dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x5e0fc6
cmp dword [ebp - 0x10], 0xffffffff
jne 0x5e0f90
mov dl, byte [ebp - 4]
add dl, 0x21
mov byte [edi], dl
inc edi
jmp 0x5e1125
cmp dword [ebp - 0x10], 1
jne 0x5e0fa4
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x5e1125
mov cl, byte [ebp - 4]
add cl, 0x27
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0x10]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x10]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
jmp 0x5e1125
cmp dword [ebp - 0xc], 1
jne 0x5e1015
cmp dword [ebp - 0x10], 0xffffffff
jne 0x5e0fe0
mov cl, byte [ebp - 4]
add cl, 0x23
mov byte [edi], cl
inc edi
jmp 0x5e1125
cmp dword [ebp - 0x10], 1
mov edi, dword [ebp - 0x13c]
je 0x5e1c6b
mov al, byte [ebp - 4]
add al, 0x27
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0x10]
dec edx
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
add cl, 0xff
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
jmp 0x5e1125
mov cl, byte [ebp - 8]
add cl, 0x29
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0xc]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0xc]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
cmp dword [ebp - 0x10], 0
jge 0x5e1096
cmp dword [ebp - 0x84], 0
je 0x5e1068
test esi, 0x10000000
je 0x5e1068
mov ecx, esi
lea eax, [ebp - 0x8c]
and ecx, 7
push ecx
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, esi
and edx, 7
add edi, edx
jmp 0x5e1088
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x5e1088
mov al, byte [ebp - 0x140]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x144]
mov byte [edi], dl
inc edi
mov cl, byte [ebp - 4]
add cl, 0x21
mov byte [edi], cl
inc edi
jmp 0x5e1125
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
je 0x5e1125
cmp dword [ebp - 0x84], 0
je 0x5e10d2
test esi, 0x10000000
je 0x5e10d2
mov edx, esi
lea ecx, [ebp - 0x8c]
and edx, 7
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, esi
and eax, 7
add edi, eax
jmp 0x5e10d7
mov edx, esi
mov byte [edi], dl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x5e10f2
mov cl, byte [ebp - 0x140]
mov byte [edi], cl
inc edi
mov al, byte [ebp - 0x144]
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc]
sub dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 1
jne 0x5e1109
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x5e1125
mov al, byte [ebp - 4]
add al, 0x27
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0x10]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0x84], 0
je 0x5e1153
test esi, 0x10000000
je 0x5e1153
mov eax, esi
lea edx, [ebp - 0x8c]
and eax, 7
push eax
push edx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
and esi, 7
add edi, esi
jmp 0x5e1158
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x5e1aa4
mov al, byte [ebp - 0x140]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x144]
mov byte [edi], dl
inc edi
jmp 0x5e1aa4
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x6e
je 0x5e11d4
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x6f
je 0x5e11d4
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x70
je 0x5e11d4
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x71
je 0x5e11d4
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x72
je 0x5e11d4
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x73
je 0x5e11d4
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x74
jne 0x5e1270
cmp dword [ebp - 0x10], 0
jne 0x5e11e2
mov edi, dword [ebp - 0x78]
jmp 0x5e1c6b
cmp dword [ebp - 0xc], 0
jne 0x5e11fb
cmp dword [ebp - 0x10], 0xffffffff
jne 0x5e11fb
mov al, byte [ebp - 4]
add al, 0x62
mov byte [edi], al
inc edi
jmp 0x5e1aa4
cmp dword [ebp - 0xc], 1
jne 0x5e1215
cmp dword [ebp - 0x10], 0xffffffff
jne 0x5e1215
mov dl, byte [ebp - 4]
add dl, 0x64
mov byte [edi], dl
inc edi
jmp 0x5e1aa4
cmp dword [ebp - 0xc], 0
jne 0x5e122f
cmp dword [ebp - 0x10], 1
jne 0x5e122f
mov cl, byte [ebp - 4]
add cl, 0x66
mov byte [edi], cl
inc edi
jmp 0x5e1aa4
mov cl, byte [ebp - 4]
add cl, 0x68
mov byte [edi], cl
inc edi
mov eax, dword [ebp - 0xc]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0xc]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
cmp dword [ebp - 0x10], 0xffffffff
jne 0x5e1257
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x10]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
jmp 0x5e1aa4
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x7d
jl 0x5e1a84
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
jg 0x5e1a84
mov esi, edi
xor eax, eax
sub esi, dword [ebp - 0x78]
xor edx, edx
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x150], edx
mov ecx, dword [ebp - 0x78]
movzx ecx, byte [ecx]
cmp ecx, 0x87
jne 0x5e12ca
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0x91
je 0x5e1c6b
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x81
jge 0x5e12f5
cmp dword [ebp - 0xc], 0
jg 0x5e1c6b
cmp dword [ebp - 0x10], 0
jl 0x5e12ee
cmp dword [ebp - 0x10], 1
jle 0x5e12f5
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
jne 0x5e1400
cmp dword [ebp - 0x10], 1
jg 0x5e1364
mov byte [edi], 0
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
push 1
mov edx, dword [ebp - 0x78]
push edx
call fcn.005deedc
add esp, 0x14
push esi
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x78]
inc eax
push eax
call fcn.005dc114
add esp, 0xc
inc edi
cmp dword [ebp - 0x10], 0
jne 0x5e1349
mov edx, dword [ebp - 0x78]
mov byte [edx], 0xa1
jmp 0x5e1c6b
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x78]
mov al, byte [ebp - 4]
add al, 0x92
mov byte [edx], al
inc dword [ebp - 0x78]
jmp 0x5e13f8
mov byte [edi], 0
mov ecx, dword [ebp - 0x80]
push ecx
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x84]
push edx
push 4
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.005deedc
add esp, 0x14
push esi
mov eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
push edx
call fcn.005dc114
mov eax, dword [ebp - 0x78]
mov cl, byte [ebp - 4]
add cl, 0x92
add esp, 0xc
mov byte [eax], cl
add edi, 4
inc dword [ebp - 0x78]
mov edx, dword [ebp - 0x78]
mov byte [edx], 0x83
inc dword [ebp - 0x78]
cmp dword [ebp - 0x14c], 0
jne 0x5e13bf
xor ecx, ecx
jmp 0x5e13c8
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x154], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x78]
sar edx, 8
mov byte [eax], dl
mov ecx, dword [ebp - 0x78]
mov dl, byte [ebp - 0x154]
and dl, 0xff
mov byte [ecx + 1], dl
add dword [ebp - 0x78], 2
dec dword [ebp - 0x10]
jmp 0x5e15bc
cmp dword [ebp - 0xc], 1
jle 0x5e15b0
cmp dword [ebp + 0x34], 0
je 0x5e1474
mov ecx, dword [ebp - 0xc]
dec ecx
imul ecx, dword [ebp - 0x54]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x268], eax
fild dword [ebp - 0x268]
fild dword [ebp - 0x54]
fmulp st(1)
fld qword [0x5e3dcc]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x5e1456
mov edx, dword [ebp + 0x34]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x158]
jge 0x5e1464
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x5e3dbc
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x158]
add dword [eax], edx
jmp 0x5e15b0
cmp dword [ebp - 0x68], 0
je 0x5e148c
cmp dword [ebp - 0x2c], 0
jge 0x5e148c
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x148], 1
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0xc]
jge 0x5e15b0
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x15c], eax
push esi
mov edx, dword [ebp - 0x78]
push edx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5e151e
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x80]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x160], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x15c]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0x164], eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.005dc184
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x5e3dbc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x160]
mov dword [ebp - 0x80], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x164]
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebp - 0x15c]
add ecx, dword [eax + 0x3c]
sub edx, dword [ebp - 0x80]
mov eax, dword [ebp + 0x30]
add ecx, 0xffffff9c
sub ecx, edx
cmp ecx, dword [eax + 0x20]
jb 0x5e14c1
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x15c]
jae 0x5e1590
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [eax + 1]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp + 0x30]
add edx, esi
sar edx, 8
mov ecx, dword [ecx + 0x20]
mov byte [ecx], dl
mov ecx, esi
mov dl, byte [eax]
shl edx, 8
or dl, byte [eax + 1]
add dl, cl
mov ecx, dword [ebp + 0x30]
and dl, 0xff
mov ecx, dword [ecx + 0x20]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x20], 2
add eax, 2
cmp eax, dword [ebp - 0x15c]
jb 0x5e154b
mov eax, dword [ebp - 0x15c]
add edi, esi
mov dword [ebp - 0x80], eax
inc dword [ebp - 0x148]
mov ecx, dword [ebp - 0x148]
cmp ecx, dword [ebp - 0xc]
jl 0x5e14a5
cmp dword [ebp - 0x10], 0
jle 0x5e15bc
mov eax, dword [ebp - 0xc]
sub dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x5e1854
cmp dword [ebp + 0x34], 0
je 0x5e163d
cmp dword [ebp - 0x10], 0
jle 0x5e163d
mov edx, dword [ebp - 0x54]
add edx, 7
imul edx, dword [ebp - 0x10]
add edx, 0xfffffffa
mov dword [ebp - 0x168], edx
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x54]
add ecx, 7
mov dword [ebp - 0x26c], ecx
fild dword [ebp - 0x26c]
fmulp st(1)
fld qword [0x5e3dcc]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x5e161f
mov edx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [edx]
cmp eax, dword [ebp - 0x168]
jge 0x5e162d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x5e3dbc
mov ecx, dword [ebp + 0x34]
mov esi, dword [ebp - 0x168]
add dword [ecx], esi
jmp 0x5e17d6
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jl 0x5e17d6
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x16c], ecx
mov cl, byte [ebp - 4]
add cl, 0x92
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x148], 0
je 0x5e16b1
mov byte [edi], 0x83
inc edi
cmp dword [ebp - 0x14c], 0
jne 0x5e1683
xor eax, eax
jmp 0x5e168b
mov eax, edi
sub eax, dword [ebp - 0x14c]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x14c], edi
mov edx, dword [ebp - 0x170]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x170]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
push esi
mov ecx, dword [ebp - 0x78]
push ecx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5e171e
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x80]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x174], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x16c]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x178], eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.005dc184
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x5e3dbc
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x10]
add ecx, dword [ebp - 0x174]
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x178]
mov dword [ebp - 0x16c], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp + 0x30]
add eax, dword [edx + 0x3c]
mov edx, dword [ebp - 0x16c]
sub edx, dword [ebp - 0x80]
add eax, 0xffffff9c
sub eax, edx
cmp eax, dword [ecx + 0x20]
jb 0x5e16c1
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x16c]
jae 0x5e17b8
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
mov cl, byte [eax + 1]
shl edx, 8
or edx, ecx
add edx, esi
cmp dword [ebp - 0x148], 0
je 0x5e176b
mov ecx, 4
jmp 0x5e1770
mov ecx, 1
add edx, ecx
mov ecx, dword [ebp + 0x30]
sar edx, 8
mov ecx, dword [ecx + 0x20]
mov byte [ecx], dl
mov ecx, esi
mov dl, byte [eax]
shl edx, 8
or dl, byte [eax + 1]
add dl, cl
cmp dword [ebp - 0x148], 0
je 0x5e1796
mov cl, 4
jmp 0x5e1798
mov cl, 1
add dl, cl
mov ecx, dword [ebp + 0x30]
and dl, 0xff
mov ecx, dword [ecx + 0x20]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x20], 2
add eax, 2
cmp eax, dword [ebp - 0x16c]
jb 0x5e174b
mov eax, dword [ebp - 0x16c]
add edi, esi
mov dword [ebp - 0x80], eax
dec dword [ebp - 0x148]
cmp dword [ebp - 0x148], 0
jge 0x5e1654
cmp dword [ebp - 0x14c], 0
je 0x5e1aa4
mov eax, edi
sub eax, dword [ebp - 0x14c]
inc eax
mov edx, edi
sub edx, eax
xor ecx, ecx
mov cl, byte [edx + 1]
shl ecx, 8
movzx esi, byte [edx + 2]
or ecx, esi
mov dword [ebp - 0x17c], ecx
cmp dword [ebp - 0x17c], 0
jne 0x5e1811
xor ecx, ecx
jmp 0x5e181d
mov ecx, dword [ebp - 0x14c]
sub ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x14c], ecx
mov byte [edi], 0x78
inc edi
mov ecx, eax
sar ecx, 8
mov byte [edi], cl
mov ecx, eax
and cl, 0xff
mov byte [edi + 1], cl
mov ecx, eax
sar ecx, 8
add edi, 2
and al, 0xff
mov byte [edx + 1], cl
mov byte [edx + 2], al
cmp dword [ebp - 0x14c], 0
jne 0x5e17e3
jmp 0x5e1aa4
lea eax, [edi - 3]
xor ecx, ecx
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x180]
mov esi, dword [ebp - 0x180]
mov cl, byte [edx + 1]
shl ecx, 8
xor edx, edx
mov dl, byte [eax + 2]
or ecx, edx
xor edx, edx
sub esi, ecx
mov dword [ebp - 0x184], esi
mov eax, dword [ebp - 0x184]
mov dl, byte [eax]
cmp edx, 0x81
je 0x5e18a9
mov ecx, dword [ebp - 0x184]
movzx ecx, byte [ecx]
cmp ecx, 0x82
jne 0x5e18bb
cmp dword [ebp - 0xa4], 0
je 0x5e18bb
mov eax, dword [ebp - 0x184]
mov byte [eax], 0x83
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x81
je 0x5e18df
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x82
jne 0x5e18f2
mov eax, dword [ebp - 0x180]
mov cl, byte [ebp - 4]
add cl, 0x79
mov byte [eax], cl
jmp 0x5e1aa4
cmp dword [ebp + 0x34], 0
jne 0x5e1966
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x188], edx
push 0
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp - 0x180]
push edx
mov ecx, dword [ebp - 0x188]
push ecx
call fcn.005dd354
add esp, 0x14
test eax, eax
je 0x5e1936
mov eax, dword [ebp - 0x184]
add byte [eax], 5
jmp 0x5e1966
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x188]
xor ecx, ecx
mov cl, byte [edx + 1]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
add dword [ebp - 0x188], ecx
mov ecx, dword [ebp - 0x188]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x77
je 0x5e1904
cmp dword [ebp - 0xa4], 0
je 0x5e1a75
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
je 0x5e199b
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x8c
jne 0x5e1a42
mov ecx, edi
sub ecx, dword [ebp - 0x184]
mov dword [ebp - 0x18c], ecx
mov byte [edi], 0
mov eax, dword [ebp - 0x80]
push eax
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebp - 0x84]
push ecx
push 3
mov eax, dword [ebp - 0x184]
push eax
call fcn.005deedc
add esp, 0x14
mov edx, dword [ebp - 0x18c]
push edx
mov ecx, dword [ebp - 0x184]
push ecx
mov eax, dword [ebp - 0x184]
add eax, 3
push eax
call fcn.005dc114
add dword [ebp - 0x18c], 3
mov edx, dword [ebp - 0x184]
add edi, 3
add esp, 0xc
mov byte [edx], 0x84
mov byte [edi], 0x7b
inc edi
mov ecx, dword [ebp - 0x18c]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x18c]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x184]
sar edx, 8
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x184]
mov dl, byte [ebp - 0x18c]
and dl, 0xff
mov byte [ecx + 2], dl
jmp 0x5e1a53
mov ecx, dword [ebp - 0x184]
inc byte [ecx]
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x7b
cmp dword [ebp - 0x150], 0
je 0x5e1a65
mov edx, dword [ebp - 0x150]
mov byte [edx], 0x94
cmp dword [ebp - 0xc], 2
jge 0x5e1aa4
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
jmp 0x5e1aa4
mov edx, dword [ebp - 0x180]
mov al, byte [ebp - 4]
add al, 0x79
mov byte [edx], al
jmp 0x5e1aa4
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x9d
je 0x5e1c6b
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xb
jmp 0x5e3dbc
cmp dword [ebp - 0xa4], 0
je 0x5e1c6b
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x50
jg 0x5e1adb
je 0x5e1b2f
add eax, 0xffffffe3
sub eax, 4
jb 0x5e1b2f
sub eax, 8
je 0x5e1b2f
sub eax, 0xd
je 0x5e1b2f
sub eax, 0xd
je 0x5e1b2f
jmp 0x5e1b8f
sub eax, 0x5d
je 0x5e1af7
add eax, 0xffffffef
sub eax, 2
jb 0x5e1b71
je 0x5e1b77
jmp 0x5e1b8f
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx + 3]
cmp ecx, 0x10
je 0x5e1b11
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0xf
jne 0x5e1b18
mov ecx, 2
jmp 0x5e1b1a
xor ecx, ecx
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
movzx esi, byte [edx + 0x67864c]
add ecx, esi
add dword [ebp - 0x60], ecx
jmp 0x5e1b8f
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [edx + 0x67864c]
add dword [ebp - 0x60], ecx
cmp dword [ebp - 0x84], 0
je 0x5e1b8f
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx - 1]
cmp eax, 0xc0
jl 0x5e1b8f
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx - 1]
and ecx, 0x3f
xor eax, eax
mov al, byte [ecx + 0x6786ee]
add dword [ebp - 0x60], eax
jmp 0x5e1b8f
add dword [ebp - 0x60], 0x21
jmp 0x5e1b8f
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx + 1]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
add dword [ebp - 0x60], ecx
mov ecx, edi
sub ecx, dword [ebp - 0x60]
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0
jle 0x5e1c6b
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x194], edx
cmp dword [ebp - 0x194], 0x76
jae 0x5e1be5
mov ecx, dword [ebp - 0x194]
xor eax, eax
mov al, byte [ecx + 0x678011]
test eax, eax
jle 0x5e1be5
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x60]
mov cl, byte [edx + 0x678011]
mov byte [eax], cl
jmp 0x5e1c6b
mov byte [edi], 0
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
push 3
mov edx, dword [ebp - 0x60]
push edx
call fcn.005deedc
add esp, 0x14
mov ecx, dword [ebp - 0x190]
push ecx
mov eax, dword [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x60]
add edx, 3
push edx
call fcn.005dc114
add dword [ebp - 0x190], 3
mov ecx, dword [ebp - 0x60]
add edi, 3
add esp, 0xc
mov byte [ecx], 0x81
mov byte [edi], 0x78
inc edi
mov eax, dword [ebp - 0x190]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x190]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
mov ecx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x60]
sar ecx, 8
mov byte [eax + 1], cl
mov eax, dword [ebp - 0x60]
mov dl, byte [ebp - 0x190]
and dl, 0xff
mov byte [eax + 2], dl
xor edx, edx
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp + 0x30]
mov esi, dword [ebp - 0x44]
or dword [ecx + 0x68], esi
jmp 0x5e3db5
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0x14], 0x85
mov ecx, dword [ebp + 0x30]
xor eax, eax
mov ecx, dword [ecx + 0x20]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0xb0], eax
inc dword [ebx]
xor ecx, ecx
mov edx, dword [ebx]
mov cl, byte [edx]
cmp ecx, 0x2a
jne 0x5e1f6b
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x5e1cdb
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx + 1]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 2
je 0x5e1f6b
xor eax, eax
mov dword [ebp - 0x19c], eax
xor eax, eax
mov dword [ebp - 0x1a0], 0x677110
mov ecx, dword [ebx]
inc ecx
mov dword [ebp - 0x1a4], ecx
xor ecx, ecx
mov dword [ebp - 0x1a8], ecx
mov dword [ebp - 0x78], eax
inc dword [ebx]
jmp 0x5e1d09
inc dword [ebx]
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 2
jne 0x5e1d07
mov ecx, dword [ebx]
sub ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x198], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x5e1d7c
inc dword [ebx]
mov ecx, dword [ebx]
mov dword [ebp - 0x1a8], ecx
jmp 0x5e1d42
inc dword [ebx]
mov eax, dword [ebx]
cmp byte [eax], 0
je 0x5e1d54
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x5e1d40
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0xff
jbe 0x5e1d7c
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x4b
jmp 0x5e3dbc
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x29
je 0x5e1d95
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3c
jmp 0x5e3dbc
xor esi, esi
jmp 0x5e1f40
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x676cb4]
cmp edx, dword [ebp - 0x198]
jne 0x5e1f2e
mov ecx, dword [ebp - 0x198]
push ecx
mov ecx, dword [ebp - 0x1a0]
push ecx
mov eax, dword [ebp - 0x1a4]
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5e1f2e
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x676cb8], 0x9e
jne 0x5e1e63
cmp dword [ebp - 0x19c], 0
je 0x5e1dfe
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x5e3dbc
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x6c], 1
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x24]
test eax, eax
je 0x5e1e31
mov byte [edi], 0xa0
inc edi
movzx edx, word [eax + 4]
sar edx, 8
mov byte [edi], dl
mov cl, byte [eax + 4]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov eax, dword [eax]
test eax, eax
jne 0x5e1e12
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x5c], 0
jle 0x5e1e3e
mov al, 0x9f
jmp 0x5e1e40
mov al, 0x9e
mov byte [edi], al
xor edx, edx
mov dl, al
mov dword [ebp - 0x1ac], edx
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e1efc
mov dword [ebp - 0x28], 0xffffffff
jmp 0x5e1efc
cmp dword [ebp - 0x19c], 0
jne 0x5e1ea0
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x676cb8], 0
jge 0x5e1e87
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x42
jmp 0x5e3dbc
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x676cb8]
xor eax, eax
mov byte [edi], dl
inc edi
mov al, dl
mov dword [ebp - 0x1ac], eax
jmp 0x5e1efc
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x676cbc], 0
jge 0x5e1ebb
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x5e3dbc
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x676cbc]
mov byte [edi], dl
xor eax, eax
mov al, dl
mov dword [ebp - 0x1ac], eax
inc edi
mov cl, byte [ebp - 0x19c]
mov byte [edi], cl
inc edi
mov ecx, dword [ebp - 0x19c]
push ecx
mov eax, dword [ebp - 0x1a8]
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, dword [ebp - 0x19c]
mov byte [edi], 0
inc edi
mov edx, dword [ebp - 0x1ac]
add edx, 0xffffff6a
sub edx, 4
jb 0x5e1f20
sub edx, 2
jb 0x5e1f14
jmp 0x5e1f4c
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x1000
jmp 0x5e1f4c
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x70], 1
jmp 0x5e1f4c
lea edx, [esi + esi*2]
mov ecx, dword [edx*4 + 0x676cb4]
inc ecx
add dword [ebp - 0x1a0], ecx
inc esi
cmp esi, dword [0x676d20]
jl 0x5e1d9c
cmp esi, dword [0x676d20]
jl 0x5e3db5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3c
jmp 0x5e3dbc
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3f
jne 0x5e334d
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jg 0x5e2004
je 0x5e2087
add edx, 0xffffffdf
cmp edx, 0x18
ja case.0x5e1f99.34
jmp dword [edx*4 + 0x5e1fa0]
cmp edx, 0x43
jg 0x5e202b
je 0x5e274c
sub edx, 0x3c
je 0x5e26d9
dec edx
je 0x5e2658
dec edx
je 0x5e273e
jmp case.0x5e1f99.34
sub edx, 0x50
je 0x5e2806
sub edx, 2
je 0x5e2f02
sub edx, 0x2a
je 0x5e207d
jmp case.0x5e1f99.34
inc dword [ebx]
jmp 0x5e204d
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0
je 0x5e205f
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
jne 0x5e204b
mov ecx, dword [ebx]
cmp byte [ecx], 0
jne 0x5e3db5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x12
jmp 0x5e3dbc
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x5e3383
mov dword [ebp - 0x14], 0x87
mov edx, dword [ebx]
mov dword [ebp - 0x70], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x5e210b
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x43
jne 0x5e210b
mov dword [ebp - 0x1b0], 3
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x30
jl 0x5e20ef
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x39
jg 0x5e20ef
inc dword [ebp - 0x1b0]
jmp 0x5e20c3
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x29
jne 0x5e210b
mov eax, dword [ebp - 0x1b0]
inc eax
add dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x70]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3f
jne 0x5e214b
mov eax, dword [ebp - 0x70]
xor edx, edx
mov dl, byte [eax + 2]
cmp edx, 0x3d
je 0x5e3383
mov ecx, dword [ebp - 0x70]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x21
je 0x5e3383
mov edx, dword [ebp - 0x70]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x3c
je 0x5e3383
mov byte [edi + 3], 0x8d
mov dword [ebp - 0xcc], 3
mov dword [ebp - 0xc8], 0xffffffff
mov dword [ebp - 0x1bc], 0xffffffff
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0xc4], edx
inc dword [ebx]
xor eax, eax
mov ecx, dword [ebx]
mov al, byte [ecx]
cmp eax, 0x52
jne 0x5e21a9
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x26
jne 0x5e21a9
mov dword [ebp - 0xe0], 0xffffffff
add dword [ebx], 2
mov byte [edi + 3], 0x8f
jmp 0x5e2227
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x5e21c2
mov dword [ebp - 0xe0], 0x3e
inc dword [ebx]
jmp 0x5e2227
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x27
jne 0x5e21db
mov dword [ebp - 0xe0], 0x27
inc dword [ebx]
jmp 0x5e2227
xor edx, edx
mov dword [ebp - 0xe0], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x2d
je 0x5e21f9
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x2b
jne 0x5e2209
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xc8], edx
inc dword [ebx]
jmp 0x5e2227
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x5e2227
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jg 0x5e2227
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jl 0x5e226c
jmp 0x5e2250
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebx]
add eax, eax
xor ecx, ecx
mov cl, byte [edx]
lea eax, [eax + eax*4]
add ecx, eax
add ecx, 0xffffffd0
mov dword [ebp - 0xc4], ecx
inc dword [ebx]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x5e22ea
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x5e2232
jmp 0x5e22ea
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x5e2290
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jg 0x5e2290
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x54
jmp 0x5e3dbc
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x5e22b0
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1c
jmp 0x5e3dbc
mov eax, dword [ebx]
mov dword [ebp - 0x1c4], eax
inc dword [ebx]
jmp 0x5e22be
inc dword [ebx]
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x5e22bc
mov ecx, dword [ebx]
sub ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], ecx
cmp dword [ebp + 0x34], 0
je 0x5e22ea
mov eax, dword [ebp + 0x34]
add dword [eax], 2
cmp dword [ebp - 0xe0], 0
jle 0x5e2301
mov dl, byte [ebp - 0xe0]
mov eax, dword [ebx]
inc dword [ebx]
cmp dl, byte [eax]
jne 0x5e230e
mov edx, dword [ebx]
inc dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x5e231e
dec dword [ebx]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1a
jmp 0x5e3dbc
cmp dword [ebp + 0x34], 0
jne 0x5e3383
cmp dword [ebp - 0xc8], 0
jl 0x5e23c1
cmp dword [ebp - 0xc4], 0
jg 0x5e234c
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x23
jmp 0x5e3dbc
cmp dword [ebp - 0xc8], 0
je 0x5e237f
cmp dword [ebp - 0xc8], 0x2d
jne 0x5e236d
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
sub ecx, dword [ebp - 0xc4]
inc ecx
jmp 0x5e2379
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x40]
add ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0
jle 0x5e2396
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x44]
cmp edx, dword [ebp - 0xc4]
jge 0x5e23a4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x5e3dbc
mov eax, dword [ebp - 0xc4]
sar eax, 8
mov byte [edi + 4], al
mov dl, byte [ebp - 0xc4]
and dl, 0xff
mov byte [edi + 5], dl
jmp 0x5e3383
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x1c8], eax
xor edx, edx
mov dword [ebp - 0x1b0], edx
jmp 0x5e240d
mov ecx, dword [ebp - 0x1bc]
push ecx
mov eax, dword [ebp - 0x1c8]
add eax, 2
push eax
mov edx, dword [ebp - 0x1c4]
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x5e241b
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x34]
add dword [ebp - 0x1c8], eax
inc dword [ebp - 0x1b0]
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1b0]
jg 0x5e23d7
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jle 0x5e2519
mov ecx, dword [ebp - 0x1b0]
xor edx, edx
mov dword [ebp - 0x1cc], ecx
xor ecx, ecx
inc dword [ebp - 0x1b0]
mov dword [ebp - 0x1d0], 1
mov eax, dword [ebp - 0x1c8]
mov dl, byte [eax]
mov eax, dword [ebp - 0x1c8]
shl edx, 8
mov cl, byte [eax + 1]
or edx, ecx
mov dword [ebp - 0xc4], edx
jmp 0x5e24a7
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1c8], ecx
mov eax, dword [ebp - 0x1bc]
push eax
mov edx, dword [ebp - 0x1c8]
add edx, 2
push edx
mov ecx, dword [ebp - 0x1c4]
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5e24b5
inc dword [ebp - 0x1d0]
inc dword [ebp - 0x1b0]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x5e246b
cmp dword [ebp - 0x1d0], 1
jle 0x5e24fc
mov ecx, dword [ebp - 0x1cc]
sar ecx, 8
mov byte [edi + 4], cl
mov al, byte [ebp - 0x1cc]
and al, 0xff
mov byte [edi + 5], al
mov edx, dword [ebp - 0x1d0]
sar edx, 8
mov byte [edi + 6], dl
mov cl, byte [ebp - 0x1d0]
and cl, 0xff
mov byte [edi + 7], cl
add dword [ebp - 0xcc], 2
inc byte [edi + 3]
jmp 0x5e3383
mov eax, dword [ebp - 0xc4]
sar eax, 8
mov byte [edi + 4], al
mov dl, byte [ebp - 0xc4]
and dl, 0xff
mov byte [edi + 5], dl
jmp 0x5e3383
cmp dword [ebp - 0xe0], 0
je 0x5e2535
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x5e3dbc
mov eax, dword [ebp - 0x1c4]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x52
jne 0x5e260f
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x1b0], 1
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1bc]
jge 0x5e25dc
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1b0]
movzx edx, byte [edx + eax]
cmp edx, 0x30
jl 0x5e2593
mov ecx, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x1b0]
xor eax, eax
mov al, byte [ecx + esi]
cmp eax, 0x39
jle 0x5e25a1
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x5e3dbc
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x1b0]
add edx, edx
xor eax, eax
mov al, byte [ecx + esi]
lea edx, [edx + edx*4]
add eax, edx
add eax, 0xffffffd0
mov dword [ebp - 0xc4], eax
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b0]
cmp ecx, dword [ebp - 0x1bc]
jl 0x5e2568
cmp dword [ebp - 0xc4], 0
jne 0x5e25ef
mov dword [ebp - 0xc4], 0xffff
mov byte [edi + 3], 0x8f
mov ecx, dword [ebp - 0xc4]
sar ecx, 8
mov byte [edi + 4], cl
mov al, byte [ebp - 0xc4]
and al, 0xff
mov byte [edi + 5], al
jmp 0x5e3383
cmp dword [ebp - 0x1bc], 6
jne 0x5e2645
push 6
push str.DEFINE
mov edx, dword [ebp - 0x1c4]
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5e2645
mov byte [edi + 3], 0x91
mov dword [ebp - 0xcc], 1
jmp 0x5e3383
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x5e3dbc
mov dword [ebp - 0x14], 0x7d
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
inc dword [ebx]
jmp 0x5e3383
inc dword [ebx]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x5e26c7
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2a
je 0x5e26c7
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2b
je 0x5e26c7
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3f
je 0x5e26c7
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x7b
jne 0x5e26b9
mov ecx, dword [ebx]
add ecx, 2
push ecx
call fcn.005dc20c
pop ecx
test eax, eax
jne 0x5e26c7
mov byte [edi], 0x9d
inc edi
xor eax, eax
mov dword [ebp - 0x78], eax
jmp 0x5e3db5
mov dword [ebp - 0x14], 0x7e
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
jmp 0x5e3383
mov ecx, dword [ebx]
mov al, byte [ecx + 1]
sub al, 0x21
je 0x5e26fd
sub al, 0x1c
je 0x5e26e8
jmp 0x5e2712
mov dword [ebp - 0x14], 0x7f
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
add dword [ebx], 2
jmp 0x5e3383
mov dword [ebp - 0x14], 0x80
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x5c]
add dword [ebx], 2
jmp 0x5e3383
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 0x10
jne case.0x5e1f99.39
inc dword [ebx]
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x18
jmp 0x5e3dbc
mov dword [ebp - 0x14], 0x81
inc dword [ebx]
jmp 0x5e3383
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x50], 1
mov byte [edi], 0x76
inc edi
xor ecx, ecx
mov dword [ebp - 0x1d4], ecx
inc dword [ebx]
jmp 0x5e2783
mov edx, dword [ebx]
mov eax, dword [ebp - 0x1d4]
add eax, eax
movzx edx, byte [edx]
lea eax, [eax + eax*4]
add eax, edx
add eax, 0xffffffd0
mov dword [ebp - 0x1d4], eax
inc dword [ebx]
mov eax, dword [ebx]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x30
jl 0x5e2799
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x5e2766
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x5e27b2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x27
jmp 0x5e3dbc
cmp dword [ebp - 0x1d4], 0xff
jle 0x5e27cc
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x26
jmp 0x5e3dbc
mov cl, byte [ebp - 0x1d4]
mov byte [edi], cl
inc edi
mov eax, dword [ebp + 0x30]
mov edx, dword [ebx]
sub edx, dword [eax + 0x18]
inc edx
sar edx, 8
mov byte [edi], dl
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebx]
sub eax, dword [ecx + 0x18]
inc eax
and al, 0xff
mov byte [edi + 1], al
mov byte [edi + 2], 0
mov byte [edi + 3], 0
add edi, 4
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x5e3db5
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3d
je 0x5e281e
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3e
jne 0x5e2844
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3e
sete cl
and ecx, 1
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xe0], 0x29
jmp 0x5e2b2a
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
je case.0x5e1f99.39
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x29
jmp 0x5e3dbc
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x5e286f
mov ecx, 0x3e
jmp 0x5e2874
mov ecx, 0x27
mov dword [ebp - 0xe0], ecx
inc dword [ebx]
mov eax, dword [ebx]
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x5e28ac
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jg 0x5e28ac
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x54
jmp 0x5e3dbc
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0xc]
test byte [ecx + edx], 0x10
jne 0x5e28aa
mov edx, dword [ebx]
sub edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], edx
cmp dword [ebp + 0x34], 0
je 0x5e2b0f
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
inc eax
mov dword [ebp - 0x1dc], eax
mov dl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp dl, byte [eax]
je 0x5e28fd
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x5e3dbc
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x30], 0x2710
jl 0x5e2917
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x31
jmp 0x5e3dbc
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1bc]
add eax, 3
cmp eax, dword [edx + 0x34]
jle 0x5e294e
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1bc]
add ecx, 3
mov dword [eax + 0x34], ecx
cmp dword [ebp - 0x1bc], 0x20
jle 0x5e294e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x30
jmp 0x5e3dbc
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x1d8], eax
xor edx, edx
mov dword [ebp - 0x1b0], edx
jmp 0x5e29f8
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x1bc]
jne 0x5e29cc
mov edx, dword [ebp - 0x1bc]
push edx
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x1c4]
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5e29cc
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 8]
cmp eax, dword [ebp - 0x1dc]
je 0x5e2a0a
test byte [ebp - 0x4a], 8
jne 0x5e29c0
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2b
jmp 0x5e3dbc
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x78], 1
jmp 0x5e29eb
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 8]
cmp edx, dword [ebp - 0x1dc]
jne 0x5e29eb
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x41
jmp 0x5e3dbc
inc dword [ebp - 0x1b0]
add dword [ebp - 0x1d8], 0xc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x5e2967
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x5e2b0f
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x30]
jg 0x5e2abf
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
add ecx, ecx
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x1e0]
shl eax, 2
lea eax, [eax + eax*2]
push eax
call dword [0x676b2c]
pop ecx
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 0
jne 0x5e2a6d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x15
jmp 0x5e3dbc
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x38]
shl eax, 2
lea eax, [eax + eax*2]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
push ecx
mov eax, dword [ebp - 0x1e4]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x38], 0x14
jle 0x5e2aa7
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x28]
push eax
call dword [0x676b30]
pop ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1e4]
mov dword [edx + 0x28], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1e0]
mov dword [edx + 0x38], ecx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
mov edx, dword [edx + 0x28]
mov ecx, dword [ebp - 0x1c4]
lea eax, [eax + eax*2]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
lea ecx, [ecx + ecx*2]
mov eax, dword [ebp - 0x1bc]
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp + 0x30]
mov esi, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov eax, dword [esi + 0x28]
mov edx, dword [ebp - 0x1dc]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x30]
inc dword [ebx]
jmp 0x5e335c
mov dword [ebp - 0xe0], 0x29
mov dword [ebp - 0xac], 1
inc dword [ebx]
mov ecx, dword [ebx]
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x30
jl 0x5e2b5c
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jg 0x5e2b5c
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x54
jmp 0x5e3dbc
inc dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [edx + 0xc]
test byte [edx + eax], 0x10
jne 0x5e2b5a
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp + 0x34], 0
je 0x5e2c6c
cmp dword [ebp - 0x1bc], 0
jne 0x5e2b9d
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3e
jmp 0x5e3dbc
mov cl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp cl, byte [eax]
je 0x5e2bb7
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x5e3dbc
cmp dword [ebp - 0x1bc], 0x20
jle 0x5e2bce
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x30
jmp 0x5e3dbc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1e8], edx
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
jmp 0x5e2c25
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax + 4]
cmp edx, dword [ebp - 0x1bc]
jne 0x5e2c18
mov ecx, dword [ebp - 0x1bc]
push ecx
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c4]
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x5e2c33
inc dword [ebp - 0x1b0]
add dword [ebp - 0x1e8], 0xc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x5e2be4
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jle 0x5e2c4c
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [edx + 8]
jmp 0x5e2c4e
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xac], 0
jne 0x5e2d17
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x54]
jmp 0x5e2d17
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x1c8], ecx
xor eax, eax
mov dword [ebp - 0x1b0], eax
jmp 0x5e2ccb
mov edx, dword [ebp - 0x1bc]
push edx
mov ecx, dword [ebp - 0x1c8]
add ecx, 2
push ecx
mov eax, dword [ebp - 0x1c4]
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5e2cb9
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1bc]
cmp byte [edx + eax + 2], 0
je 0x5e2cd9
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1c8], ecx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x5e2c82
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1b0]
jle 0x5e2d09
mov eax, dword [ebp - 0x1c8]
xor edx, edx
mov dl, byte [eax]
shl edx, 8
mov eax, dword [ebp - 0x1c8]
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
mov dword [ebp - 0xc4], edx
jmp 0x5e2d17
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x5e3dbc
cmp dword [ebp - 0xac], 0
jne 0x5e3048
cmp dword [ebp + 0x34], 0
jne 0x5e38a5
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x78], 0
je 0x5e38a5
mov dword [ebp - 0x1ec], 1
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1f4], ecx
inc dword [ebp - 0x1b0]
jmp 0x5e2db3
mov eax, dword [ebp - 0x1c8]
mov edx, dword [ebp - 0x1f4]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x5e2d99
test cl, cl
je 0x5e2d9b
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x5e2d99
add eax, 2
add edx, 2
test cl, cl
jne 0x5e2d7d
jne 0x5e2dc1
inc dword [ebp - 0x1ec]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1f4], edx
inc dword [ebp - 0x1b0]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x5e2d6b
cmp dword [ebp - 0x1ec], 1
jle 0x5e38a5
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e2ddb
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x5e2de8
mov dl, 0x74
jmp 0x5e2dea
mov dl, 0x73
mov byte [edi], dl
inc edi
mov eax, dword [ebp - 0x1f0]
shr eax, 8
mov byte [edi], al
mov cl, byte [ebp - 0x1f0]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov ecx, dword [ebp - 0x1ec]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x1ec]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
mov edx, dword [ebp - 0x1c8]
cmp edx, dword [ebp - 0x1f4]
jae 0x5e3db5
mov edx, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c8]
xor eax, eax
movzx edx, byte [edx + 1]
mov al, byte [ecx]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x20
jge 0x5e2e69
mov ecx, dword [ebp - 0xc4]
mov eax, 1
shl eax, cl
jmp 0x5e2e6e
mov eax, 1
mov edx, dword [ebp + 0x30]
or dword [edx + 0x50], eax
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x4c]
cmp ecx, dword [ebp - 0xc4]
jge 0x5e2e8e
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
je 0x5e2eda
mov edx, dword [ebp - 0x1f8]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc4]
jne 0x5e2ec3
mov eax, dword [ebp - 0x1f8]
mov word [eax + 6], 1
jmp 0x5e2eda
mov edx, dword [ebp - 0x1f8]
mov ecx, dword [edx]
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp - 0x1f8], 0
jne 0x5e2ea3
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1c8], edx
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1f4]
jb 0x5e2e32
jmp 0x5e3db5
inc dword [ebx]
mov dword [ebp - 0xe0], 0x29
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xc8], edx
cmp edx, 0x2b
jne 0x5e2f47
inc dword [ebx]
mov eax, dword [ebx]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x30
jl 0x5e2f37
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x5e2f72
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3f
jmp 0x5e3dbc
cmp dword [ebp - 0xc8], 0x2d
jne 0x5e2f72
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x30
jl case.0x5e1f99.34
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x39
jg case.0x5e1f99.34
inc dword [ebx]
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x5e2f9a
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebx]
add edx, edx
xor ecx, ecx
mov cl, byte [eax]
lea edx, [edx + edx*4]
add edx, ecx
add edx, 0xffffffd0
mov dword [ebp - 0xc4], edx
inc dword [ebx]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x30
jl 0x5e2fb0
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x5e2f7c
mov cl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp cl, byte [eax]
je 0x5e2fca
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1d
jmp 0x5e3dbc
cmp dword [ebp - 0xc8], 0x2d
jne 0x5e3016
cmp dword [ebp - 0xc4], 0
jne 0x5e2fea
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3a
jmp 0x5e3dbc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
sub edx, dword [ebp - 0xc4]
inc edx
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xc4], 0
jg 0x5e3048
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x5e3dbc
cmp dword [ebp - 0xc8], 0x2b
jne 0x5e3048
cmp dword [ebp - 0xc4], 0
jne 0x5e3036
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x5e3dbc
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
add ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x78], edi
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x1fc], edx
cmp dword [ebp + 0x34], 0
jne 0x5e3181
mov byte [edi], 0
cmp dword [ebp - 0xc4], 0
je 0x5e3090
mov ecx, dword [ebp - 0xc4]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x14]
push ecx
call fcn.005dd104
add esp, 0xc
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jne 0x5e312e
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x44]
cmp edx, dword [ebp - 0xc4]
jge 0x5e30b9
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x5e3dbc
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0x1fc], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [edx + 0x3c]
mov edx, dword [ebp + 0x30]
add eax, 0xffffff9c
cmp eax, dword [edx + 0x20]
ja 0x5e30fd
mov eax, dword [ebp + 0x30]
push eax
call fcn.005dc184
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x5e3dbc
mov edx, dword [ebp + 0x30]
lea eax, [edi + 1]
sub eax, dword [edx + 0x14]
mov edx, dword [ebp + 0x30]
sar eax, 8
mov ecx, dword [edx + 0x20]
mov byte [ecx], al
lea eax, [edi + 1]
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
sub eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x20]
and al, 0xff
mov byte [edx + 1], al
mov eax, dword [ebp + 0x30]
add dword [eax + 0x20], 2
jmp 0x5e3181
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x1fc]
xor edx, edx
movzx ecx, byte [ecx + 1]
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
jne 0x5e3181
cmp dword [ebp + 0x2c], 0
jg 0x5e3181
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp + 0x28]
push edx
push edi
mov ecx, dword [ebp - 0x1fc]
push ecx
call fcn.005dd86c
add esp, 0x14
test eax, eax
je 0x5e3181
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x28
jmp 0x5e3dbc
mov byte [edi], 0x75
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1fc]
sub eax, dword [edx + 0x14]
sar eax, 8
mov byte [edi + 1], al
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1fc]
sub ecx, dword [edx + 0x14]
and cl, 0xff
mov byte [edi + 2], cl
add edi, 3
xor ecx, ecx
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e3db5
mov dword [ebp - 0x28], 0xffffffff
jmp 0x5e3db5
xor eax, eax
lea edx, [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1c0], edx
jmp 0x5e3295
mov ecx, dword [ebx]
inc dword [ebx]
movzx ecx, byte [ecx]
cmp ecx, 0x69
jg 0x5e3209
je 0x5e3240
sub ecx, 0x2d
je 0x5e321a
sub ecx, 0x1d
je 0x5e3228
sub ecx, 0xb
je 0x5e326c
sub ecx, 3
je 0x5e327a
jmp 0x5e3285
sub ecx, 0x6d
je 0x5e324b
sub ecx, 6
je 0x5e3256
sub ecx, 5
je 0x5e3261
jmp 0x5e3285
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1c0], eax
jmp 0x5e3295
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x80000
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x400
jmp 0x5e3295
mov eax, dword [ebp - 0x1c0]
or dword [eax], 1
jmp 0x5e3295
mov edx, dword [ebp - 0x1c0]
or dword [edx], 2
jmp 0x5e3295
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 4
jmp 0x5e3295
mov eax, dword [ebp - 0x1c0]
or dword [eax], 8
jmp 0x5e3295
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x200
jmp 0x5e3295
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 0x40
jmp 0x5e3295
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
dec dword [ebx]
jmp 0x5e3dbc
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x5e32af
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x5e31e5
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b8]
not eax
and ecx, eax
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x5e3342
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
add edx, 3
cmp edi, edx
jne 0x5e32fc
cmp dword [ebp + 0x34], 0
je 0x5e32ee
mov ecx, dword [ebp + 0x34]
cmp dword [ecx], 6
jne 0x5e32fc
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x60], edx
jmp 0x5e332a
test byte [ebp - 0xbf], 2
setne cl
and ecx, 1
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
xor eax, 1
mov dword [ebp - 0x1c], eax
test byte [ebp - 0xc0], 1
je 0x5e3325
mov edx, 1
jmp 0x5e3327
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp + 8]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x78], ecx
jmp 0x5e3db5
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x5e3383
test byte [ebp - 0x4b], 0x10
je 0x5e335c
mov dword [ebp - 0x14], 0x83
jmp 0x5e3383
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x40]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
shr edx, 8
mov byte [edi + 3], dl
mov ecx, dword [ebp + 0x30]
mov al, byte [ecx + 0x40]
and al, 0xff
mov byte [edi + 4], al
mov dword [ebp - 0xcc], 2
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x58]
mov ecx, dword [edx + 0x58]
cmp ecx, 0xfa
jle 0x5e33a2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x52
jmp 0x5e3dbc
mov dword [ebp - 0x78], edi
mov dl, byte [ebp - 0x14]
mov byte [edi], dl
mov dword [ebp - 0x60], edi
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x48], eax
xor eax, eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x54], eax
cmp dword [ebp + 0x34], 0
jne 0x5e33d1
xor edx, edx
jmp 0x5e33d4
lea edx, [ebp - 0x54]
push edx
lea edx, [ebp - 0xdc]
mov eax, dword [ebp + 0x30]
push eax
lea eax, [ebp - 0xd0]
mov ecx, dword [ebp + 0x28]
push ecx
lea ecx, [ebp - 0xd8]
push ecx
push eax
push edx
lea ecx, [ebp - 0xd4]
push ecx
cmp dword [ebp - 0x14], 0x87
jne 0x5e3409
mov eax, 1
jmp 0x5e340b
xor eax, eax
add eax, dword [ebp + 0x2c]
push eax
mov edx, dword [ebp - 0xcc]
push edx
mov ecx, dword [ebp - 0xb0]
push ecx
cmp dword [ebp - 0x14], 0x7f
je 0x5e3430
cmp dword [ebp - 0x14], 0x80
je 0x5e3430
xor ecx, ecx
jmp 0x5e3435
mov ecx, 1
push ecx
lea edx, [ebp - 0x60]
mov eax, dword [ebp + 0x14]
push eax
push ebx
push edx
mov ecx, dword [ebp - 0xc0]
push ecx
call fcn.005e3dd4
add esp, 0x3c
test eax, eax
je 0x5e3dbc
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x58]
cmp dword [ebp - 0x14], 0x81
jne 0x5e3476
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [ebp - 0xe8]
ja 0x5e3476
mov byte [edi], 0x82
cmp dword [ebp - 0x14], 0x7d
jl 0x5e348b
cmp dword [ebp - 0x14], 0x80
jg 0x5e348b
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x5c]
cmp dword [ebp - 0x14], 0x87
jne 0x5e3541
cmp dword [ebp + 0x34], 0
jne 0x5e3541
mov dword [ebp - 0x200], edi
xor edx, edx
mov dword [ebp - 0x204], edx
inc dword [ebp - 0x204]
xor eax, eax
mov edx, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x200]
movzx edx, byte [edx + 2]
mov al, byte [ecx + 1]
shl eax, 8
or eax, edx
add dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x78
jne 0x5e34b0
xor ecx, ecx
mov cl, byte [edi + 3]
cmp ecx, 0x91
jne 0x5e3512
cmp dword [ebp - 0x204], 1
jle 0x5e3509
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x36
jmp 0x5e3dbc
mov dword [ebp - 0x14], 0x91
jmp 0x5e3541
cmp dword [ebp - 0x204], 2
jle 0x5e3529
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1b
jmp 0x5e3dbc
cmp dword [ebp - 0x204], 1
jne 0x5e3541
or ecx, 0xffffffff
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xdc], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
je 0x5e355a
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xe
jmp 0x5e3dbc
cmp dword [ebp + 0x34], 0
je 0x5e35ab
mov eax, dword [ebp + 0x34]
mov edx, 0x7fffffeb
sub edx, dword [eax]
mov eax, dword [ebp - 0x54]
add eax, 0xfffffffa
cmp edx, eax
jge 0x5e3582
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x5e3dbc
mov esi, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffffa
inc edi
add dword [esi], ecx
mov byte [edi], 0
mov byte [edi + 1], 3
add edi, 2
mov byte [edi], 0x78
inc edi
mov byte [edi], 0
mov byte [edi + 1], 3
add edi, 2
jmp 0x5e3db5
cmp dword [ebp - 0x14], 0x91
mov edi, dword [ebp - 0x60]
je 0x5e3db5
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
xor eax, eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x14], 0x81
jl 0x5e3670
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e361f
cmp dword [ebp - 0xdc], 0
jl 0x5e360f
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x68], 1
jmp 0x5e3616
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
jmp 0x5e364c
cmp dword [ebp - 0xdc], 0
jl 0x5e364c
cmp dword [ebp - 0xd8], 0
jge 0x5e364c
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xdc]
or edx, dword [ebp - 0x48]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0
jl 0x5e3db5
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x2c], eax
jmp 0x5e3db5
cmp dword [ebp - 0x14], 0x7d
jne 0x5e3db5
cmp dword [ebp - 0xd8], 0
jl 0x5e3db5
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x2c], ecx
jmp 0x5e3db5
mov eax, dword [ebx]
mov dword [ebp - 0x70], eax
push 0
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
lea ecx, [ebp - 0xec]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ecx
push ebx
call fcn.005dc29c
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x5e3dbc
test esi, esi
jne 0x5e36e1
mov esi, dword [ebp - 0xec]
jmp 0x5e3a5b
cmp esi, 0x1a
jne 0x5e3711
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x5c
jne 0x5e3705
mov ecx, dword [ebx]
movzx ecx, byte [ecx + 2]
cmp ecx, 0x45
jne 0x5e3705
add dword [ebx], 2
jmp 0x5e3db5
mov dword [ebp - 0x64], 1
jmp 0x5e3db5
cmp esi, 0x19
je 0x5e3db5
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e3731
cmp esi, 5
jle 0x5e3731
cmp esi, 0x17
jge 0x5e3731
mov dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp - 0x20]
cmp esi, 0x1b
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
jne 0x5e3820
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x80], ecx
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x5e376f
mov ecx, 0x3e
jmp 0x5e3774
mov ecx, 0x27
mov dword [ebp - 0xe0], ecx
xor eax, eax
mov dword [ebp - 0xcc], eax
xor edx, edx
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0x2b
je 0x5e37ca
cmp dword [ebp - 0x20c], 0x2d
je 0x5e37ca
cmp dword [ebp - 0x20c], 0x30
jb 0x5e37bb
cmp dword [ebp - 0x20c], 0x39
jbe 0x5e37ca
mov dword [ebp - 0xac], 1
jmp 0x5e2b2a
mov edx, dword [ebx]
add edx, 2
mov dword [ebp - 0x208], edx
jmp 0x5e37dd
inc dword [ebp - 0x208]
mov ecx, dword [ebp - 0x208]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x5e37fb
mov edx, dword [ebp - 0x208]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jle 0x5e37d7
mov al, byte [ebp - 0xe0]
mov edx, dword [ebp - 0x208]
cmp al, byte [edx]
je 0x5e3819
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x39
jmp 0x5e3db5
inc dword [ebx]
jmp 0x5e2f0e
cmp esi, 0x1c
jne 0x5e3895
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3c
je 0x5e3857
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x27
je 0x5e3857
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x7b
je 0x5e3857
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x45
jmp 0x5e3db5
xor edx, edx
mov dword [ebp - 0xac], edx
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3c
jne 0x5e3873
mov edx, 0x3e
jmp 0x5e388a
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x27
jne 0x5e3885
mov edx, 0x27
jmp 0x5e388a
mov edx, 0x7d
mov dword [ebp - 0xe0], edx
jmp 0x5e2b2a
test esi, esi
jge 0x5e3973
neg esi
mov dword [ebp - 0xc4], esi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e38b2
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x5e38bf
mov al, 0x72
jmp 0x5e38c1
mov al, 0x71
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc4]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0xc4]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0xc4], 0x20
jge 0x5e38f6
mov ecx, dword [ebp - 0xc4]
mov eax, 1
shl eax, cl
jmp 0x5e38fb
mov eax, 1
mov edx, dword [ebp + 0x30]
or dword [edx + 0x50], eax
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx + 0x4c]
cmp ecx, dword [ebp - 0xc4]
jge 0x5e391b
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc4]
mov dword [eax + 0x4c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
je 0x5e3db5
mov edx, dword [ebp - 0x210]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc4]
jne 0x5e3957
mov eax, dword [ebp - 0x210]
mov word [eax + 6], 1
jmp 0x5e3db5
mov edx, dword [ebp - 0x210]
mov ecx, dword [edx]
mov dword [ebp - 0x210], ecx
cmp dword [ebp - 0x210], 0
jne 0x5e3934
jmp 0x5e3db5
cmp esi, 0xf
je 0x5e397d
cmp esi, 0x10
jne 0x5e39eb
xor eax, eax
xor edx, edx
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], edx
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x21c]
push ecx
push eax
lea edx, [ebp - 0x218]
lea ecx, [ebp - 0x214]
push edx
push ecx
push ebx
call fcn.005dcb00
add esp, 0x14
test eax, eax
je 0x5e3dbc
mov dword [ebp - 0x78], edi
cmp esi, 0x10
sete al
and eax, 1
cmp eax, dword [ebp - 0x214]
je 0x5e39cf
mov dl, 0x10
jmp 0x5e39d1
mov dl, 0xf
mov byte [edi], dl
inc edi
mov al, byte [ebp - 0x218]
mov byte [edi], al
inc edi
mov cl, byte [ebp - 0x21c]
mov byte [edi], cl
inc edi
jmp 0x5e3db5
cmp esi, 5
je 0x5e39fa
cmp esi, 4
je 0x5e39fa
cmp esi, 1
jne 0x5e3a0d
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x48], 0
jne 0x5e3a0d
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x48], 1
cmp esi, 0x1d
jl 0x5e3a2c
cmp esi, 0x22
jg 0x5e3a2c
mov edx, dword [ebx]
inc edx
mov dword [ebp - 0x74], edx
mov ecx, dword [esi*4 + 0x676d58]
dec ecx
mov dword [ebx], ecx
jmp 0x5e3db5
cmp esi, 5
jle 0x5e3a3a
cmp esi, 0x17
jge 0x5e3a3a
mov eax, edi
jmp 0x5e3a3c
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x84], 0
jne 0x5e3a51
cmp esi, 0xe
jne 0x5e3a51
mov dl, 0xd
jmp 0x5e3a53
mov edx, esi
mov byte [edi], dl
inc edi
jmp 0x5e3db5
cmp dword [ebp - 0x84], 0
je 0x5e3a81
cmp esi, 0x7f
jbe 0x5e3a81
lea eax, [ebp - 0xf4]
push eax
push esi
call fcn.005f7ba0
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x5e3ae8
mov ecx, esi
mov byte [ebp - 0xf4], cl
mov dword [ebp - 0xe4], 1
jmp 0x5e3ae8
mov dword [ebp - 0xe4], 1
mov ecx, esi
mov byte [ebp - 0xf4], cl
cmp dword [ebp - 0x84], 0
je 0x5e3ae8
cmp esi, 0xc0
jb 0x5e3ae8
jmp 0x5e3ad3
inc dword [ebx]
mov eax, dword [ebx]
mov dl, byte [eax]
mov eax, dword [ebp - 0xe4]
mov byte [ebp + eax - 0xf4], dl
inc dword [ebp - 0xe4]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
and ecx, 0xc0
cmp ecx, 0x80
je 0x5e3aba
mov dword [ebp - 0x78], edi
cmp dword [ebp - 0x84], 0
je 0x5e3ca9
test byte [ebp - 0x4c], 1
je 0x5e3ca9
movzx esi, byte [ebp - 0xf4]
cmp esi, 0xc0
jb 0x5e3c45
test esi, 0x20
jne 0x5e3b35
and esi, 0x1f
xor eax, eax
mov al, byte [ebp - 0xf3]
shl esi, 6
and eax, 0x3f
or esi, eax
jmp 0x5e3c45
test esi, 0x10
jne 0x5e3b65
xor edx, edx
and esi, 0xf
mov dl, byte [ebp - 0xf3]
xor ecx, ecx
and edx, 0x3f
mov cl, byte [ebp - 0xf2]
shl edx, 6
and ecx, 0x3f
shl esi, 0xc
or esi, edx
or esi, ecx
jmp 0x5e3c45
test esi, 8
jne 0x5e3ba5
xor ecx, ecx
xor eax, eax
mov cl, byte [ebp - 0xf3]
mov al, byte [ebp - 0xf2]
and ecx, 0x3f
and esi, 7
shl ecx, 0xc
and eax, 0x3f
shl esi, 0x12
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xf1]
or esi, eax
and edx, 0x3f
or esi, edx
jmp 0x5e3c45
test esi, 4
jne 0x5e3bf2
xor ecx, ecx
and esi, 3
mov cl, byte [ebp - 0xf3]
xor eax, eax
and ecx, 0x3f
mov al, byte [ebp - 0xf2]
shl ecx, 0x12
xor edx, edx
shl esi, 0x18
mov dl, byte [ebp - 0xf1]
and eax, 0x3f
or esi, ecx
shl eax, 0xc
and edx, 0x3f
shl edx, 6
xor ecx, ecx
or esi, eax
mov cl, byte [ebp - 0xf0]
and ecx, 0x3f
or esi, edx
or esi, ecx
jmp 0x5e3c45
xor eax, eax
and esi, 1
mov al, byte [ebp - 0xf3]
xor edx, edx
and eax, 0x3f
mov dl, byte [ebp - 0xf2]
shl eax, 0x18
and edx, 0x3f
shl esi, 0x1e
xor ecx, ecx
or esi, eax
xor eax, eax
shl edx, 0x12
mov cl, byte [ebp - 0xf1]
and ecx, 0x3f
mov al, byte [ebp - 0xf0]
shl ecx, 0xc
or esi, edx
and eax, 0x3f
xor edx, edx
shl eax, 6
or esi, ecx
mov dl, byte [ebp - 0xef]
or esi, eax
and edx, 0x3f
or esi, edx
mov ecx, esi
test ecx, ecx
jns 0x5e3c4e
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x686b18]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x5e3c6b
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x67a018]
xor eax, eax
mov al, byte [ecx*8 + 0x678c83]
mov esi, eax
test eax, eax
je 0x5e3ca9
mov byte [edi], 0x10
inc edi
mov byte [edi], 9
inc edi
mov edx, esi
mov byte [edi], dl
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e3db5
or ecx, 0xffffffff
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], ecx
jmp 0x5e3db5
test byte [ebp - 0x4c], 1
je 0x5e3cb3
mov al, 0x1e
jmp 0x5e3cb5
mov al, 0x1d
mov byte [edi], al
inc edi
xor esi, esi
lea eax, [ebp - 0xf4]
mov dword [ebp - 0x220], eax
cmp esi, dword [ebp - 0xe4]
jae 0x5e3ce8
mov edx, dword [ebp - 0x220]
mov cl, byte [edx]
mov byte [edi], cl
inc edi
inc esi
inc dword [ebp - 0x220]
cmp esi, dword [ebp - 0xe4]
jb 0x5e3cce
xor ecx, ecx
mov cl, byte [ebp - 0xf4]
cmp ecx, 0xd
je 0x5e3d02
xor eax, eax
mov al, byte [ebp - 0xf4]
cmp eax, 0xa
jne 0x5e3d0c
mov edx, dword [ebp + 0x30]
or dword [edx + 0x64], 0x800
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5e3d7a
mov dword [ebp - 0x3c], 0xffffffff
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xe4], 1
je 0x5e3d34
cmp dword [ebp - 0x40], 0
jne 0x5e3d6f
xor edx, edx
mov dl, byte [ebp - 0xf4]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x20], edx
xor ecx, ecx
mov cl, byte [ebp - 0xf4]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0xe4], 1
je 0x5e3db5
xor edx, edx
mov dl, byte [edi - 1]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x2c], eax
jmp 0x5e3db5
or edx, 0xffffffff
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
jmp 0x5e3db5
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xe4], 1
je 0x5e3da1
cmp dword [ebp - 0x40], 0
jne 0x5e3db5
xor edx, edx
mov dl, byte [edi - 1]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
or eax, dword [ebp - 0x40]
mov dword [ebp - 0x2c], eax
inc dword [ebx]
jmp 0x5df4df
mov edx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov dword [edx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret