Function at 0x5fe964
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
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 0x5fea16
mov edx, 1
jmp 0x5fea18
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebx]
movzx esi, byte [eax]
test esi, esi
jne 0x5fea39
cmp dword [ebp - 0x74], 0
je 0x5fea39
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 0x5fead3
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 0x5fea64
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x34
jmp 0x6032f8
cmp edi, dword [ebp - 0x58]
jae 0x5fea6c
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 0x5fea8d
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x6032f8
mov eax, edi
mov edx, dword [ebp + 0x34]
sub eax, dword [ebp - 0x58]
add dword [edx], eax
cmp dword [ebp - 0x78], 0
je 0x5feacb
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x5c]
jbe 0x5feace
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.005fb650
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 0x5feace
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edi
jmp 0x5feaf8
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 0x5feaf8
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x6032f8
cmp dword [ebp - 0x64], 0
je 0x5feb68
test esi, esi
je 0x5feb68
cmp esi, 0x5c
jne 0x5feb20
mov ecx, dword [ebx]
movzx ecx, byte [ecx + 1]
cmp ecx, 0x45
jne 0x5feb20
xor eax, eax
mov dword [ebp - 0x64], eax
inc dword [ebx]
jmp 0x6032f1
cmp dword [ebp - 0x7c], 0
je 0x5feb44
cmp dword [ebp + 0x34], 0
jne 0x5feb3f
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebx]
push ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.005fe4ec
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x4b], 0x40
je 0x602fd1
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
push edi
call fcn.005fe4b4
add esp, 0xc
mov edi, eax
jmp 0x602fd1
test byte [ebp - 0x4c], 8
je 0x5fec71
jmp 0x5feb7b
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 0x5feb74
cmp esi, 0x23
jne 0x5fec71
inc dword [ebx]
jmp 0x5fec5c
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x7c], 0
je 0x5febe3
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [ebx]
jbe 0x5febd8
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.006171f8
add esp, 0x14
test eax, eax
jne 0x5febdc
xor ecx, ecx
jmp 0x5fec2a
mov ecx, 1
jmp 0x5fec2a
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 0x5fec21
mov edx, dword [ebx]
mov esi, dword [ebp + 0x30]
mov cl, byte [edx]
cmp cl, byte [esi + 0x84]
jne 0x5fec21
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x80], 1
je 0x5fec25
mov edx, dword [ebx]
mov esi, dword [ebp + 0x30]
mov cl, byte [edx + 1]
cmp cl, byte [esi + 0x85]
je 0x5fec25
xor ecx, ecx
jmp 0x5fec2a
mov ecx, 1
test ecx, ecx
je 0x5fec3b
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x80]
add dword [ebx], edx
jmp 0x5fec67
inc dword [ebx]
cmp dword [ebp - 0x84], 0
je 0x5fec5c
jmp 0x5fec4a
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x5fec48
mov edx, dword [ebx]
cmp byte [edx], 0
jne 0x5feb97
mov ecx, dword [ebx]
movzx esi, byte [ecx]
jmp 0x5feb7b
cmp esi, 0x2a
je 0x5fec97
cmp esi, 0x2b
je 0x5fec97
cmp esi, 0x3f
je 0x5fec97
cmp esi, 0x7b
jne 0x5fec93
mov eax, dword [ebx]
inc eax
push eax
call fcn.005fb748
pop ecx
test eax, eax
jne 0x5fec97
xor edx, edx
jmp 0x5fec9c
mov edx, 1
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0
jne 0x5fece0
cmp dword [ebp - 0x7c], 0
je 0x5fece0
cmp dword [ebp - 0x74], 0
jne 0x5fece0
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x50], 0xffffffff
test ecx, ecx
jg 0x5fece0
cmp dword [ebp + 0x34], 0
jne 0x5fecdb
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
mov edx, dword [ebp - 0x7c]
push edx
call fcn.005fe4ec
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
test byte [ebp - 0x4b], 0x40
je 0x5fed0a
cmp dword [ebp - 0xa8], 0
jne 0x5fed0a
cmp dword [ebp - 0x74], 0
jne 0x5fed0a
mov dword [ebp - 0x7c], edi
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebx]
push edx
push edi
call fcn.005fe4b4
add esp, 0xc
mov edi, eax
mov ecx, esi
cmp ecx, 0x3f
jg 0x5fed58
je 0x6000c9
cmp ecx, 0x29
jg 0x5fed3a
je 0x5fed90
sub ecx, 1
jb 0x5fed90
sub ecx, 0x23
je 0x5fee1f
sub ecx, 4
je 0x6011ba
jmp 0x602fd1
sub ecx, 0x2a
je 0x6000ab
dec ecx
je 0x6000b9
sub ecx, 3
je 0x5fee38
jmp 0x602fd1
cmp ecx, 0x5e
jg 0x5fed7f
je 0x5fedf5
sub ecx, 0x5b
je 0x5fee94
dec ecx
je 0x602bda
dec ecx
je 0x5fee74
jmp 0x602fd1
sub ecx, 0x7b
je 0x600076
dec ecx
je 0x5fed90
jmp 0x602fd1
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 0x5fedeb
mov ecx, dword [ebp + 0x34]
mov edx, edi
mov eax, 0x7fffffeb
sub eax, dword [ecx]
sub edx, dword [ebp - 0x58]
cmp eax, edx
jge 0x5fede3
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x6032f8
sub edi, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
add dword [eax], edi
mov eax, 1
jmp 0x603301
xor edx, edx
mov dword [ebp - 0x78], edx
test byte [ebp - 0x4c], 2
je 0x5fee16
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5fee0d
mov dword [ebp - 0x28], 0xffffffff
mov byte [edi], 0x1c
inc edi
jmp 0x6032f1
mov byte [edi], 0x1b
inc edi
jmp 0x6032f1
xor ecx, ecx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0x4c], 2
je 0x5fee2e
mov cl, 0x1a
jmp 0x5fee30
mov cl, 0x19
mov byte [edi], cl
inc edi
jmp 0x6032f1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5fee45
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 0x5fee6a
mov dl, 0xd
jmp 0x5fee6c
mov dl, 0xc
mov byte [edi], dl
inc edi
jmp 0x6032f1
mov eax, dword [ebp + 0x30]
test byte [eax + 0x63], 2
je 0x602fd1
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x40
jmp 0x6032f8
push 6
push 0x6e00b1
mov ecx, dword [ebx]
inc ecx
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5feebe
mov eax, dword [ebx]
add eax, 7
mov dword [ebp - 0x74], eax
mov dword [ebx], 0x6df13e
jmp 0x6032f1
push 6
push str._:_:__
mov edx, dword [ebx]
inc edx
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5feee8
mov ecx, dword [ebx]
add ecx, 7
mov dword [ebp - 0x74], ecx
mov dword [ebx], 0x6df147
jmp 0x6032f1
mov dword [ebp - 0x78], edi
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x5fef0f
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x5fef0f
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x5fef44
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.005fe33c
add esp, 8
test eax, eax
je 0x5fef44
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3a
jne 0x5fef35
mov edx, 0xd
jmp 0x5fef3a
mov edx, 0x1f
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x6032f8
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
inc dword [ebx]
mov ecx, dword [ebx]
movzx esi, byte [ecx]
cmp esi, 0x5c
jne 0x5fef84
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x5fef68
inc dword [ebx]
jmp 0x5fef4c
push 3
push 0x6e00bf
mov ecx, dword [ebx]
inc ecx
push ecx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x5fef9e
add dword [ebx], 3
jmp 0x5fef4c
cmp dword [ebp - 0x9c], 0
jne 0x5fef9e
cmp esi, 0x5e
jne 0x5fef9e
mov dword [ebp - 0x9c], 1
jmp 0x5fef4c
cmp esi, 0x5d
jne 0x5fefdc
mov ecx, dword [ebp + 0x30]
test byte [ecx + 0x63], 2
je 0x5fefdc
cmp dword [ebp - 0x9c], 0
je 0x5fefb9
mov al, 0xd
jmp 0x5fefbb
mov al, 0x9d
mov byte [edi], al
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5fefcb
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 0x6032f1
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 0x5ffed7
cmp dword [ebp - 0x84], 0
je 0x5ff18c
cmp esi, 0xc0
jb 0x5ff18c
mov edx, dword [ebx]
movzx esi, byte [edx]
cmp esi, 0xc0
jb 0x5ff18c
test esi, 0x20
jne 0x5ff07f
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 0x5ff18c
test esi, 0x10
jne 0x5ff0af
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 0x5ff18c
test esi, 8
jne 0x5ff0ef
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 0x5ff18c
test esi, 4
jne 0x5ff13b
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 0x5ff18c
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 0x5ff1c7
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x98]
jbe 0x5ff1c7
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 0x5ff1f7
cmp esi, 0x5c
jne 0x5ff989
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x45
jne 0x5ff989
xor ecx, ecx
mov dword [ebp - 0x64], ecx
inc dword [ebx]
jmp 0x5ffe9e
cmp esi, 0x5b
jne 0x5ff57d
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x5ff228
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2e
je 0x5ff228
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3d
jne 0x5ff57d
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.005fe33c
add esp, 8
test eax, eax
je 0x5ff57d
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 0x5ff26d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1f
jmp 0x6032f8
add dword [ebx], 2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5e
jne 0x5ff291
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.005fe3c4
add esp, 8
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jge 0x5ff2bf
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
jmp 0x6032f8
test byte [ebp - 0x4c], 1
je 0x5ff2d6
cmp dword [ebp - 0x100], 2
jg 0x5ff2d6
xor edx, edx
mov dword [ebp - 0x100], edx
test byte [ebp - 0x49], 0x20
je 0x5ff3d2
xor ecx, ecx
mov dword [ebp - 0x110], ecx
cmp dword [ebp - 0xfc], 0
je 0x5ff2f8
mov eax, 0xe
jmp 0x5ff2fa
xor eax, eax
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
cmp dword [edx*4 + 0x6dede8], 0
je 0x5ff337
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx*4 + 0x6dede8]
dec eax
mov dword [ebx], eax
jmp 0x5ffe9e
mov edx, dword [ebp - 0x100]
sub edx, 8
je 0x5ff34d
dec edx
je 0x5ff357
dec edx
je 0x5ff36a
jmp 0x5ff3d2
mov dword [ebp - 0x110], 0xb
cmp dword [ebp - 0x110], 0
jne 0x5ff36a
mov dword [ebp - 0x110], 0xc
cmp dword [ebp - 0x110], 0
jne 0x5ff37d
mov dword [ebp - 0x110], 0xd
cmp dword [ebp - 0xfc], 0
je 0x5ff38a
mov cl, 4
jmp 0x5ff38c
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 0x5ffe9e
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 + 0x6ded28]
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 + 0x6ded2c]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx*4 + 0x6ded30]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x104], 0
jl 0x5ff4a8
cmp dword [ebp - 0x108], 0
jl 0x5ff473
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 0x5ff44c
jmp 0x5ff4a8
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 0x5ff481
cmp dword [ebp - 0x108], 0
jge 0x5ff4b7
neg dword [ebp - 0x108]
cmp dword [ebp - 0x108], 1
jne 0x5ff4c9
and byte [ebp - 0x263], 0xc3
jmp 0x5ff4d9
cmp dword [ebp - 0x108], 2
jne 0x5ff4d9
and byte [ebp - 0x259], 0x7f
cmp dword [ebp - 0xfc], 0
je 0x5ff522
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 0x5ff4fc
jmp 0x5ff55e
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 0x5ff53c
mov edx, dword [ebp - 0x70]
inc edx
mov dword [ebx], edx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xb8], 2
jmp 0x5ffe9e
cmp esi, 0x5c
jne 0x5ff989
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.005fb7d8
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6032f8
test esi, esi
jne 0x5ff5c4
mov esi, dword [ebp - 0xec]
jmp 0x5ff989
cmp esi, 5
jne 0x5ff5d3
mov esi, 8
jmp 0x5ff989
cmp esi, 0xc
jne 0x5ff5eb
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x47
jmp 0x6032f8
cmp esi, 0x1a
jne 0x5ff621
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x5c
jne 0x5ff610
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
jne 0x5ff610
add dword [ebx], 2
jmp 0x5ffe9e
mov dword [ebp - 0x64], 1
jmp 0x5ffe9e
cmp esi, 0x19
je 0x5ffe9e
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.0x5ff657.6
mov al, byte [eax + 0x5ff65e]
jmp dword [eax*4 + 0x5ff67b]
mov edx, dword [ebx]
mov dword [ebp - 0x74], edx
mov ecx, dword [esi*4 + 0x6ded5c]
dec ecx
mov dword [ebx], ecx
dec dword [ebp - 0xb4]
jmp 0x5ffe9e
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 0x5ff6d7
jmp 0x5ffe9e
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 0x5ff712
jmp 0x5ffe9e
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 0x5ff745
jmp 0x5ffe9e
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 0x5ff783
jmp 0x5ffe9e
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 0x5ff7b9
jmp 0x5ffe9e
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 0x5ff7f3
jmp 0x5ffe9e
push 0xffffffffffffffff
push 0x6e0178
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.005fe86c
add esp, 0x18
jmp 0x5ffe9e
push 0x6e0178
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.005fe8cc
add esp, 0x14
jmp 0x5ffe9e
push 0xffffffffffffffff
push 0x6e01c8
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.005fe86c
add esp, 0x18
jmp 0x5ffe9e
push 0x6e01c8
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.005fe8cc
add esp, 0x14
jmp 0x5ffe9e
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.005fc03c
add esp, 0x14
test eax, eax
je 0x6032f8
cmp esi, 0x10
sete dl
and edx, 1
cmp edx, dword [ebp - 0x11c]
je 0x5ff90a
mov cl, 3
jmp 0x5ff90c
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 0x5ffe9e
test byte [ebp - 0x4c], 0x40
je 0x5ff96b
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 7
jmp 0x6032f8
dec dword [ebp - 0xb4]
sub dword [ebp - 0xb8], 2
mov eax, dword [ebx]
movzx esi, byte [eax]
jmp 0x5ff989
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 0x5ff9a1
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x45
je 0x5ff981
mov edx, dword [ebx]
cmp esi, 0xd
mov dword [ebp - 0xf8], edx
je 0x5ff9b3
cmp esi, 0xa
jne 0x5ff9bd
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x800
cmp dword [ebp - 0x64], 0
jne 0x5ffd38
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2d
jne 0x5ffd38
add dword [ebx], 2
jmp 0x5ff9df
add dword [ebx], 2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x5c
jne 0x5ffa20
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x45
je 0x5ff9dc
jmp 0x5ffa20
add dword [ebx], 2
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5c
jne 0x5ffa17
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x45
jne 0x5ffa17
add dword [ebx], 2
jmp 0x5ffa20
mov dword [ebp - 0x64], 1
jmp 0x5ffa37
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x5c
jne 0x5ffa37
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x51
je 0x5ff9f8
mov ecx, dword [ebx]
cmp byte [ecx], 0
je 0x5ffa4f
cmp dword [ebp - 0x64], 0
jne 0x5ffa5c
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x5d
jne 0x5ffa5c
mov ecx, dword [ebp - 0xf8]
mov dword [ebx], ecx
jmp 0x5ffd38
cmp dword [ebp - 0x84], 0
je 0x5ffbf6
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0xc0
jb 0x5ffc01
test byte [ebp - 0x128], 0x20
jne 0x5ffab3
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 0x5ffc01
test byte [ebp - 0x128], 0x10
jne 0x5ffaf1
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 0x5ffc01
test byte [ebp - 0x128], 8
jne 0x5ffb3e
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 0x5ffc01
test byte [ebp - 0x128], 4
jne 0x5ffb97
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 0x5ffc01
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 0x5ffc01
mov ecx, dword [ebx]
movzx ecx, byte [ecx]
mov dword [ebp - 0x128], ecx
cmp dword [ebp - 0x64], 0
jne 0x5ffcc3
cmp dword [ebp - 0x128], 0x5c
jne 0x5ffc75
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.005fb7d8
add esp, 0x18
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x6032f8
cmp dword [ebp - 0x12c], 0
je 0x5ffcc3
cmp dword [ebp - 0x12c], 5
jne 0x5ffc65
mov dword [ebp - 0x128], 8
jmp 0x5ffcc3
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x6032f8
cmp dword [ebp - 0x128], 0x5b
jne 0x5ffcc3
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3a
je 0x5ffca2
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2e
je 0x5ffca2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3d
jne 0x5ffcc3
lea edx, [ebp - 0x70]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.005fe33c
add esp, 8
test eax, eax
je 0x5ffcc3
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x53
jmp 0x6032f8
cmp esi, dword [ebp - 0x128]
jbe 0x5ffcd9
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x6032f8
cmp esi, dword [ebp - 0x128]
je 0x5ffd38
mov dword [ebp - 0xb8], 2
cmp dword [ebp - 0x128], 0xd
je 0x5ffcfd
cmp dword [ebp - 0x128], 0xa
jne 0x5ffd07
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.005fe67c
add esp, 0x18
add dword [ebp - 0xb4], eax
jmp 0x5ffe9e
cmp dword [ebp - 0xb8], 2
jge 0x5ffd47
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 1
jne 0x5ffe78
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x5d
jne 0x5ffe78
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 0x5ffe38
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5ffd8c
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 0x5ffe00
test byte [ebp - 0x4c], 1
je 0x5ffe00
mov ecx, esi
test ecx, ecx
jns 0x5ffdb0
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x6eeb1c]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x5ffdcd
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x6e201c]
xor eax, eax
mov al, byte [ecx*8 + 0x6e0c87]
mov dword [ebp - 0x130], eax
test eax, eax
je 0x5ffe00
mov byte [edi], 0xf
inc edi
mov byte [edi], 9
inc edi
mov dl, byte [ebp - 0x130]
mov byte [edi], dl
inc edi
jmp 0x6032f1
test byte [ebp - 0x4c], 1
je 0x5ffe0a
mov cl, 0x20
jmp 0x5ffe0c
mov cl, 0x1f
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x84], 0
je 0x5ffe2e
cmp esi, 0x7f
jbe 0x5ffe2e
push edi
push esi
call fcn.00617624
add esp, 8
add edi, eax
jmp 0x6032f1
mov eax, esi
mov byte [edi], al
inc edi
jmp 0x6032f1
cmp dword [ebp - 0x84], 0
je 0x5ffe61
cmp esi, 0x7f
jbe 0x5ffe61
lea edx, [ebp - 0xf4]
push edx
push esi
call fcn.00617624
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x603024
mov ecx, esi
mov byte [ebp - 0xf4], cl
mov dword [ebp - 0xe4], 1
jmp 0x603024
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.005fe67c
add esp, 0x18
add dword [ebp - 0xb4], eax
inc dword [ebx]
mov edx, dword [ebx]
movzx esi, byte [edx]
test esi, esi
jne 0x5ffec4
cmp dword [ebp - 0x74], 0
je 0x5ffed7
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 0x5ffed7
cmp esi, 0x5d
jne 0x5ff034
cmp dword [ebp - 0x64], 0
jne 0x5ff034
test esi, esi
jne 0x5ffee9
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x6032f8
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x98]
jbe 0x5fff01
mov dword [ebp - 0x94], 1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x5fff0e
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 0x600014
cmp dword [ebp - 0xa0], 0
je 0x5fff46
test byte [ebp - 0x49], 0x20
je 0x600014
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 0x5fff69
mov al, 1
jmp 0x5fff6b
xor eax, eax
mov byte [edi], al
cmp dword [ebp - 0xbc], 0
je 0x5fff79
or byte [edi], 4
cmp dword [ebp - 0xb4], 0
jle 0x5fffed
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.005fb650
add esp, 0xc
cmp dword [ebp - 0x9c], 0
je 0x5fffd0
cmp dword [ebp - 0xbc], 0
jne 0x5fffd0
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 0x5fffbc
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 0x5ffff3
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 0x6032f1
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa0]
jne 0x600026
mov dl, 0x6e
jmp 0x600028
mov dl, 0x6f
mov byte [edi], dl
inc edi
cmp dword [ebp + 0x34], 0
jne 0x60006e
cmp dword [ebp - 0x9c], 0
je 0x60005c
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 0x600048
push 0x20
lea ecx, [ebp - 0x244]
push ecx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, 0x20
jmp 0x6032f1
cmp dword [ebp - 0xa8], 0
je 0x602fd1
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.005fc170
add esp, 0x10
mov dword [ebx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6032f8
jmp 0x6000d5
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], 0xffffffff
jmp 0x6000d5
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0xffffffff
jmp 0x6000d5
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x78], 0
jne 0x6000e9
mov eax, dword [ebp + 0x14]
mov dword [eax], 9
jmp 0x6032f8
cmp dword [ebp - 0xc], 0
jne 0x600107
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 0x600113
xor eax, eax
jmp 0x600118
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 0x60022d
mov esi, dword [ebx]
inc esi
jmp 0x60013e
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 0x60013d
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0x23
jne 0x60022a
inc esi
jmp 0x60021c
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x7c], 0
je 0x6001a8
mov edx, dword [ebp + 0x30]
cmp esi, dword [edx + 0x1c]
jae 0x60019d
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.006171f8
add esp, 0x14
test eax, eax
jne 0x6001a1
xor ecx, ecx
jmp 0x6001eb
mov ecx, 1
jmp 0x6001eb
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x30]
sub edx, dword [eax + 0x80]
cmp esi, edx
ja 0x6001e2
mov dl, byte [esi]
mov ecx, dword [ebp + 0x30]
cmp dl, byte [ecx + 0x84]
jne 0x6001e2
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x80], 1
je 0x6001e6
mov al, byte [esi + 1]
mov edx, dword [ebp + 0x30]
cmp al, byte [edx + 0x85]
je 0x6001e6
xor ecx, ecx
jmp 0x6001eb
mov ecx, 1
test ecx, ecx
je 0x6001fd
mov eax, dword [ebp + 0x30]
add esi, dword [eax + 0x80]
jmp 0x60013e
inc esi
cmp dword [ebp - 0x84], 0
je 0x60021c
jmp 0x60020a
inc esi
xor edx, edx
mov dl, byte [esi]
and edx, 0xc0
cmp edx, 0x80
je 0x600209
cmp byte [esi], 0
jne 0x600161
jmp 0x60013e
dec esi
mov dword [ebx], esi
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2b
jne 0x60024c
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xa4], 1
inc dword [ebx]
jmp 0x600268
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x3f
jne 0x600262
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
inc dword [ebx]
jmp 0x600268
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 0x600336
push 3
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x78]
add eax, 3
push eax
call fcn.005fb650
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 0x600336
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 0x600336
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 0x600336
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 0x60036a
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x1e
je 0x60036a
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1f
je 0x60036a
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x20
jne 0x600438
mov edx, dword [ebp - 0x78]
mov cl, byte [edx]
sub cl, 0x1d
je 0x600380
dec cl
je 0x600387
dec cl
je 0x600390
dec cl
je 0x600399
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x6003a0
mov dword [ebp - 8], 0xd
jmp 0x6003a0
mov dword [ebp - 8], 0x1a
jmp 0x6003a0
mov dword [ebp - 8], 0x27
cmp dword [ebp - 0x84], 0
je 0x60040c
xor edx, edx
mov dl, byte [edi - 1]
and edx, 0xc0
cmp edx, 0x80
jne 0x60040c
lea ecx, [edi - 1]
mov dword [ebp - 0x138], ecx
jmp 0x6003cd
dec dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x6003c7
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 0x600455
movzx esi, byte [edi - 1]
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x1e
jg 0x600455
cmp dword [ebp - 0xc], 1
jle 0x600455
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 0x600455
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x17
jge 0x6006b8
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 0x60046c
mov ecx, dword [ebp - 0x78]
movzx ecx, byte [ecx]
cmp ecx, 0xf
jne 0x60048a
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 0x600499
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 0x6011a7
mov eax, dword [ebp - 8]
add dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x600502
cmp dword [ebp - 0x10], 0xffffffff
jne 0x6004cc
mov dl, byte [ebp - 4]
add dl, 0x21
mov byte [edi], dl
inc edi
jmp 0x600661
cmp dword [ebp - 0x10], 1
jne 0x6004e0
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x600661
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 0x600661
cmp dword [ebp - 0xc], 1
jne 0x600551
cmp dword [ebp - 0x10], 0xffffffff
jne 0x60051c
mov cl, byte [ebp - 4]
add cl, 0x23
mov byte [edi], cl
inc edi
jmp 0x600661
cmp dword [ebp - 0x10], 1
mov edi, dword [ebp - 0x13c]
je 0x6011a7
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 0x600661
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 0x6005d2
cmp dword [ebp - 0x84], 0
je 0x6005a4
test esi, 0x10000000
je 0x6005a4
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 0x6005c4
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x6005c4
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 0x600661
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
je 0x600661
cmp dword [ebp - 0x84], 0
je 0x60060e
test esi, 0x10000000
je 0x60060e
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 0x600613
mov edx, esi
mov byte [edi], dl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x60062e
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 0x600645
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x600661
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 0x60068f
test esi, 0x10000000
je 0x60068f
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 0x600694
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x140], 0
jl 0x600fe0
mov al, byte [ebp - 0x140]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x144]
mov byte [edi], dl
inc edi
jmp 0x600fe0
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x6e
je 0x600710
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x6f
je 0x600710
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x70
je 0x600710
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x71
je 0x600710
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x72
je 0x600710
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x73
je 0x600710
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x74
jne 0x6007ac
cmp dword [ebp - 0x10], 0
jne 0x60071e
mov edi, dword [ebp - 0x78]
jmp 0x6011a7
cmp dword [ebp - 0xc], 0
jne 0x600737
cmp dword [ebp - 0x10], 0xffffffff
jne 0x600737
mov al, byte [ebp - 4]
add al, 0x62
mov byte [edi], al
inc edi
jmp 0x600fe0
cmp dword [ebp - 0xc], 1
jne 0x600751
cmp dword [ebp - 0x10], 0xffffffff
jne 0x600751
mov dl, byte [ebp - 4]
add dl, 0x64
mov byte [edi], dl
inc edi
jmp 0x600fe0
cmp dword [ebp - 0xc], 0
jne 0x60076b
cmp dword [ebp - 0x10], 1
jne 0x60076b
mov cl, byte [ebp - 4]
add cl, 0x66
mov byte [edi], cl
inc edi
jmp 0x600fe0
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 0x600793
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 0x600fe0
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x7d
jl 0x600fc0
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
jg 0x600fc0
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 0x600806
mov eax, dword [ebp - 0x78]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0x91
je 0x6011a7
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x81
jge 0x600831
cmp dword [ebp - 0xc], 0
jg 0x6011a7
cmp dword [ebp - 0x10], 0
jl 0x60082a
cmp dword [ebp - 0x10], 1
jle 0x600831
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
jne 0x60093c
cmp dword [ebp - 0x10], 1
jg 0x6008a0
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.005fe418
add esp, 0x14
push esi
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x78]
inc eax
push eax
call fcn.005fb650
add esp, 0xc
inc edi
cmp dword [ebp - 0x10], 0
jne 0x600885
mov edx, dword [ebp - 0x78]
mov byte [edx], 0xa1
jmp 0x6011a7
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 0x600934
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.005fe418
add esp, 0x14
push esi
mov eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
add edx, 4
push edx
call fcn.005fb650
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 0x6008fb
xor ecx, ecx
jmp 0x600904
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 0x600af8
cmp dword [ebp - 0xc], 1
jle 0x600aec
cmp dword [ebp + 0x34], 0
je 0x6009b0
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 [0x603308]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x600992
mov edx, dword [ebp + 0x34]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x158]
jge 0x6009a0
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x6032f8
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp - 0x158]
add dword [eax], edx
jmp 0x600aec
cmp dword [ebp - 0x68], 0
je 0x6009c8
cmp dword [ebp - 0x2c], 0
jge 0x6009c8
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 0x600aec
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 0x600a5a
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.005fb6c0
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x6032f8
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 0x6009fd
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x15c]
jae 0x600acc
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 0x600a87
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 0x6009e1
cmp dword [ebp - 0x10], 0
jle 0x600af8
mov eax, dword [ebp - 0xc]
sub dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x600d90
cmp dword [ebp + 0x34], 0
je 0x600b79
cmp dword [ebp - 0x10], 0
jle 0x600b79
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 [0x603308]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x45
je 0x600b5b
mov edx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [edx]
cmp eax, dword [ebp - 0x168]
jge 0x600b69
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x6032f8
mov ecx, dword [ebp + 0x34]
mov esi, dword [ebp - 0x168]
add dword [ecx], esi
jmp 0x600d12
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jl 0x600d12
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 0x600bed
mov byte [edi], 0x83
inc edi
cmp dword [ebp - 0x14c], 0
jne 0x600bbf
xor eax, eax
jmp 0x600bc7
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 0x600c5a
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.005fb6c0
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6032f8
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 0x600bfd
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x16c]
jae 0x600cf4
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 0x600ca7
mov ecx, 4
jmp 0x600cac
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 0x600cd2
mov cl, 4
jmp 0x600cd4
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 0x600c87
mov eax, dword [ebp - 0x16c]
add edi, esi
mov dword [ebp - 0x80], eax
dec dword [ebp - 0x148]
cmp dword [ebp - 0x148], 0
jge 0x600b90
cmp dword [ebp - 0x14c], 0
je 0x600fe0
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 0x600d4d
xor ecx, ecx
jmp 0x600d59
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 0x600d1f
jmp 0x600fe0
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 0x600de5
mov ecx, dword [ebp - 0x184]
movzx ecx, byte [ecx]
cmp ecx, 0x82
jne 0x600df7
cmp dword [ebp - 0xa4], 0
je 0x600df7
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 0x600e1b
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x82
jne 0x600e2e
mov eax, dword [ebp - 0x180]
mov cl, byte [ebp - 4]
add cl, 0x79
mov byte [eax], cl
jmp 0x600fe0
cmp dword [ebp + 0x34], 0
jne 0x600ea2
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.005fc890
add esp, 0x14
test eax, eax
je 0x600e72
mov eax, dword [ebp - 0x184]
add byte [eax], 5
jmp 0x600ea2
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 0x600e40
cmp dword [ebp - 0xa4], 0
je 0x600fb1
mov edx, dword [ebp - 0x184]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x87
je 0x600ed7
mov eax, dword [ebp - 0x184]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x8c
jne 0x600f7e
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.005fe418
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.005fb650
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 0x600f8f
mov ecx, dword [ebp - 0x184]
inc byte [ecx]
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x7b
cmp dword [ebp - 0x150], 0
je 0x600fa1
mov edx, dword [ebp - 0x150]
mov byte [edx], 0x94
cmp dword [ebp - 0xc], 2
jge 0x600fe0
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
jmp 0x600fe0
mov edx, dword [ebp - 0x180]
mov al, byte [ebp - 4]
add al, 0x79
mov byte [edx], al
jmp 0x600fe0
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x9d
je 0x6011a7
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xb
jmp 0x6032f8
cmp dword [ebp - 0xa4], 0
je 0x6011a7
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x50
jg 0x601017
je 0x60106b
add eax, 0xffffffe3
sub eax, 4
jb 0x60106b
sub eax, 8
je 0x60106b
sub eax, 0xd
je 0x60106b
sub eax, 0xd
je 0x60106b
jmp 0x6010cb
sub eax, 0x5d
je 0x601033
add eax, 0xffffffef
sub eax, 2
jb 0x6010ad
je 0x6010b3
jmp 0x6010cb
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx + 3]
cmp ecx, 0x10
je 0x60104d
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax + 3]
cmp edx, 0xf
jne 0x601054
mov ecx, 2
jmp 0x601056
xor ecx, ecx
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
movzx esi, byte [edx + 0x6e0650]
add ecx, esi
add dword [ebp - 0x60], ecx
jmp 0x6010cb
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [edx + 0x6e0650]
add dword [ebp - 0x60], ecx
cmp dword [ebp - 0x84], 0
je 0x6010cb
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx - 1]
cmp eax, 0xc0
jl 0x6010cb
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx - 1]
and ecx, 0x3f
xor eax, eax
mov al, byte [ecx + 0x6e06f2]
add dword [ebp - 0x60], eax
jmp 0x6010cb
add dword [ebp - 0x60], 0x21
jmp 0x6010cb
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 0x6011a7
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x194], edx
cmp dword [ebp - 0x194], 0x76
jae 0x601121
mov ecx, dword [ebp - 0x194]
xor eax, eax
mov al, byte [ecx + 0x6e0015]
test eax, eax
jle 0x601121
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x60]
mov cl, byte [edx + 0x6e0015]
mov byte [eax], cl
jmp 0x6011a7
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.005fe418
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.005fb650
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 0x6032f1
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 0x6014a7
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3a
je 0x601217
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 0x6014a7
xor eax, eax
mov dword [ebp - 0x19c], eax
xor eax, eax
mov dword [ebp - 0x1a0], 0x6df114
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 0x601245
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 0x601243
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 0x6012b8
inc dword [ebx]
mov ecx, dword [ebx]
mov dword [ebp - 0x1a8], ecx
jmp 0x60127e
inc dword [ebx]
mov eax, dword [ebx]
cmp byte [eax], 0
je 0x601290
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x60127c
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0xff
jbe 0x6012b8
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x4b
jmp 0x6032f8
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x29
je 0x6012d1
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3c
jmp 0x6032f8
xor esi, esi
jmp 0x60147c
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x6decb8]
cmp edx, dword [ebp - 0x198]
jne 0x60146a
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 0x60146a
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x6decbc], 0x9e
jne 0x60139f
cmp dword [ebp - 0x19c], 0
je 0x60133a
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x6032f8
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x6c], 1
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x24]
test eax, eax
je 0x60136d
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 0x60134e
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x5c], 0
jle 0x60137a
mov al, 0x9f
jmp 0x60137c
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 0x601438
mov dword [ebp - 0x28], 0xffffffff
jmp 0x601438
cmp dword [ebp - 0x19c], 0
jne 0x6013dc
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x6decbc], 0
jge 0x6013c3
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x42
jmp 0x6032f8
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x6decbc]
xor eax, eax
mov byte [edi], dl
inc edi
mov al, dl
mov dword [ebp - 0x1ac], eax
jmp 0x601438
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x6decc0], 0
jge 0x6013f7
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x6032f8
lea eax, [esi + esi*2]
mov dl, byte [eax*4 + 0x6decc0]
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 0x60145c
sub edx, 2
jb 0x601450
jmp 0x601488
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x1000
jmp 0x601488
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x70], 1
jmp 0x601488
lea edx, [esi + esi*2]
mov ecx, dword [edx*4 + 0x6decb8]
inc ecx
add dword [ebp - 0x1a0], ecx
inc esi
cmp esi, dword [0x6ded24]
jl 0x6012d8
cmp esi, dword [0x6ded24]
jl 0x6032f1
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3c
jmp 0x6032f8
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3f
jne 0x602889
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jg 0x601540
je 0x6015c3
add edx, 0xffffffdf
cmp edx, 0x18
ja case.0x6014d5.34
jmp dword [edx*4 + 0x6014dc]
cmp edx, 0x43
jg 0x601567
je 0x601c88
sub edx, 0x3c
je 0x601c15
dec edx
je 0x601b94
dec edx
je 0x601c7a
jmp case.0x6014d5.34
sub edx, 0x50
je 0x601d42
sub edx, 2
je 0x60243e
sub edx, 0x2a
je 0x6015b9
jmp case.0x6014d5.34
inc dword [ebx]
jmp 0x601589
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0
je 0x60159b
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x29
jne 0x601587
mov ecx, dword [ebx]
cmp byte [ecx], 0
jne 0x6032f1
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x12
jmp 0x6032f8
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x6028bf
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 0x601647
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x43
jne 0x601647
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 0x60162b
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x39
jg 0x60162b
inc dword [ebp - 0x1b0]
jmp 0x6015ff
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [eax + edx]
cmp ecx, 0x29
jne 0x601647
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 0x601687
mov eax, dword [ebp - 0x70]
xor edx, edx
mov dl, byte [eax + 2]
cmp edx, 0x3d
je 0x6028bf
mov ecx, dword [ebp - 0x70]
xor eax, eax
mov al, byte [ecx + 2]
cmp eax, 0x21
je 0x6028bf
mov edx, dword [ebp - 0x70]
xor ecx, ecx
mov cl, byte [edx + 2]
cmp ecx, 0x3c
je 0x6028bf
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 0x6016e5
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x26
jne 0x6016e5
mov dword [ebp - 0xe0], 0xffffffff
add dword [ebx], 2
mov byte [edi + 3], 0x8f
jmp 0x601763
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x6016fe
mov dword [ebp - 0xe0], 0x3e
inc dword [ebx]
jmp 0x601763
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x27
jne 0x601717
mov dword [ebp - 0xe0], 0x27
inc dword [ebx]
jmp 0x601763
xor edx, edx
mov dword [ebp - 0xe0], edx
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x2d
je 0x601735
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x2b
jne 0x601745
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xc8], edx
inc dword [ebx]
jmp 0x601763
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x601763
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jg 0x601763
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jl 0x6017a8
jmp 0x60178c
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 0x601826
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x60176e
jmp 0x601826
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x6017cc
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jg 0x6017cc
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x54
jmp 0x6032f8
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 0x6017ec
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1c
jmp 0x6032f8
mov eax, dword [ebx]
mov dword [ebp - 0x1c4], eax
inc dword [ebx]
jmp 0x6017fa
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 0x6017f8
mov ecx, dword [ebx]
sub ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], ecx
cmp dword [ebp + 0x34], 0
je 0x601826
mov eax, dword [ebp + 0x34]
add dword [eax], 2
cmp dword [ebp - 0xe0], 0
jle 0x60183d
mov dl, byte [ebp - 0xe0]
mov eax, dword [ebx]
inc dword [ebx]
cmp dl, byte [eax]
jne 0x60184a
mov edx, dword [ebx]
inc dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x60185a
dec dword [ebx]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1a
jmp 0x6032f8
cmp dword [ebp + 0x34], 0
jne 0x6028bf
cmp dword [ebp - 0xc8], 0
jl 0x6018fd
cmp dword [ebp - 0xc4], 0
jg 0x601888
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x23
jmp 0x6032f8
cmp dword [ebp - 0xc8], 0
je 0x6018bb
cmp dword [ebp - 0xc8], 0x2d
jne 0x6018a9
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
sub ecx, dword [ebp - 0xc4]
inc ecx
jmp 0x6018b5
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 0x6018d2
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x44]
cmp edx, dword [ebp - 0xc4]
jge 0x6018e0
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x6032f8
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 0x6028bf
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x1c8], eax
xor edx, edx
mov dword [ebp - 0x1b0], edx
jmp 0x601949
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 0x601957
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 0x601913
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jle 0x601a55
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 0x6019e3
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 0x6019f1
inc dword [ebp - 0x1d0]
inc dword [ebp - 0x1b0]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1b0]
jg 0x6019a7
cmp dword [ebp - 0x1d0], 1
jle 0x601a38
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 0x6028bf
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 0x6028bf
cmp dword [ebp - 0xe0], 0
je 0x601a71
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x6032f8
mov eax, dword [ebp - 0x1c4]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x52
jne 0x601b4b
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x1b0], 1
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x1bc]
jge 0x601b18
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1b0]
movzx edx, byte [edx + eax]
cmp edx, 0x30
jl 0x601acf
mov ecx, dword [ebp - 0x1c4]
mov esi, dword [ebp - 0x1b0]
xor eax, eax
mov al, byte [ecx + esi]
cmp eax, 0x39
jle 0x601add
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6032f8
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 0x601aa4
cmp dword [ebp - 0xc4], 0
jne 0x601b2b
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 0x6028bf
cmp dword [ebp - 0x1bc], 6
jne 0x601b81
push 6
push str.DEFINE
mov edx, dword [ebp - 0x1c4]
push edx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x601b81
mov byte [edi + 3], 0x91
mov dword [ebp - 0xcc], 1
jmp 0x6028bf
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x6032f8
mov dword [ebp - 0x14], 0x7d
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
inc dword [ebx]
jmp 0x6028bf
inc dword [ebx]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
jne 0x601c03
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x2a
je 0x601c03
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x2b
je 0x601c03
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x3f
je 0x601c03
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x7b
jne 0x601bf5
mov ecx, dword [ebx]
add ecx, 2
push ecx
call fcn.005fb748
pop ecx
test eax, eax
jne 0x601c03
mov byte [edi], 0x9d
inc edi
xor eax, eax
mov dword [ebp - 0x78], eax
jmp 0x6032f1
mov dword [ebp - 0x14], 0x7e
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
jmp 0x6028bf
mov ecx, dword [ebx]
mov al, byte [ecx + 1]
sub al, 0x21
je 0x601c39
sub al, 0x1c
je 0x601c24
jmp 0x601c4e
mov dword [ebp - 0x14], 0x7f
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
add dword [ebx], 2
jmp 0x6028bf
mov dword [ebp - 0x14], 0x80
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x5c]
add dword [ebx], 2
jmp 0x6028bf
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.0x6014d5.39
inc dword [ebx]
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x18
jmp 0x6032f8
mov dword [ebp - 0x14], 0x81
inc dword [ebx]
jmp 0x6028bf
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 0x601cbf
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 0x601cd5
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x601ca2
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x601cee
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x27
jmp 0x6032f8
cmp dword [ebp - 0x1d4], 0xff
jle 0x601d08
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x26
jmp 0x6032f8
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 0x6032f1
inc dword [ebx]
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x3d
je 0x601d5a
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3e
jne 0x601d80
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 0x602066
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
je case.0x6014d5.39
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x29
jmp 0x6032f8
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3c
jne 0x601dab
mov ecx, 0x3e
jmp 0x601db0
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 0x601de8
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jg 0x601de8
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x54
jmp 0x6032f8
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 0x601de6
mov edx, dword [ebx]
sub edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], edx
cmp dword [ebp + 0x34], 0
je 0x60204b
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 0x601e39
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x6032f8
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x30], 0x2710
jl 0x601e53
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x31
jmp 0x6032f8
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1bc]
add eax, 3
cmp eax, dword [edx + 0x34]
jle 0x601e8a
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1bc]
add ecx, 3
mov dword [eax + 0x34], ecx
cmp dword [ebp - 0x1bc], 0x20
jle 0x601e8a
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x30
jmp 0x6032f8
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x1d8], eax
xor edx, edx
mov dword [ebp - 0x1b0], edx
jmp 0x601f34
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x1bc]
jne 0x601f08
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 0x601f08
mov ecx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 8]
cmp eax, dword [ebp - 0x1dc]
je 0x601f46
test byte [ebp - 0x4a], 8
jne 0x601efc
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2b
jmp 0x6032f8
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 0x78], 1
jmp 0x601f27
mov eax, dword [ebp - 0x1d8]
mov edx, dword [eax + 8]
cmp edx, dword [ebp - 0x1dc]
jne 0x601f27
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x41
jmp 0x6032f8
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 0x601ea3
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jg 0x60204b
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [eax + 0x30]
jg 0x601ffb
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 [0x6deb30]
pop ecx
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 0
jne 0x601fa9
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x15
jmp 0x6032f8
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 0x601fe3
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x28]
push eax
call dword [0x6deb34]
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 0x602898
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 0x602098
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jg 0x602098
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x54
jmp 0x6032f8
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 0x602096
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp + 0x34], 0
je 0x6021a8
cmp dword [ebp - 0x1bc], 0
jne 0x6020d9
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3e
jmp 0x6032f8
mov cl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp cl, byte [eax]
je 0x6020f3
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x6032f8
cmp dword [ebp - 0x1bc], 0x20
jle 0x60210a
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x30
jmp 0x6032f8
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1e8], edx
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
jmp 0x602161
mov eax, dword [ebp - 0x1e8]
mov edx, dword [eax + 4]
cmp edx, dword [ebp - 0x1bc]
jne 0x602154
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 0x60216f
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 0x602120
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1b0]
jle 0x602188
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [edx + 8]
jmp 0x60218a
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xac], 0
jne 0x602253
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x54]
jmp 0x602253
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x1c8], ecx
xor eax, eax
mov dword [ebp - 0x1b0], eax
jmp 0x602207
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 0x6021f5
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x1bc]
cmp byte [edx + eax + 2], 0
je 0x602215
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 0x6021be
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1b0]
jle 0x602245
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 0x602253
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x6032f8
cmp dword [ebp - 0xac], 0
jne 0x602584
cmp dword [ebp + 0x34], 0
jne 0x602de1
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x78], 0
je 0x602de1
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 0x6022ef
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 0x6022d5
test cl, cl
je 0x6022d7
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x6022d5
add eax, 2
add edx, 2
test cl, cl
jne 0x6022b9
jne 0x6022fd
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 0x6022a7
cmp dword [ebp - 0x1ec], 1
jle 0x602de1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x602317
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x602324
mov dl, 0x74
jmp 0x602326
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 0x6032f1
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 0x6023a5
mov ecx, dword [ebp - 0xc4]
mov eax, 1
shl eax, cl
jmp 0x6023aa
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 0x6023ca
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 0x602416
mov edx, dword [ebp - 0x1f8]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc4]
jne 0x6023ff
mov eax, dword [ebp - 0x1f8]
mov word [eax + 6], 1
jmp 0x602416
mov edx, dword [ebp - 0x1f8]
mov ecx, dword [edx]
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp - 0x1f8], 0
jne 0x6023df
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 0x60236e
jmp 0x6032f1
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 0x602483
inc dword [ebx]
mov eax, dword [ebx]
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, 0x30
jl 0x602473
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x39
jle 0x6024ae
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3f
jmp 0x6032f8
cmp dword [ebp - 0xc8], 0x2d
jne 0x6024ae
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x30
jl case.0x6014d5.34
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x39
jg case.0x6014d5.34
inc dword [ebx]
xor eax, eax
mov dword [ebp - 0xc4], eax
jmp 0x6024d6
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 0x6024ec
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x39
jle 0x6024b8
mov cl, byte [ebp - 0xe0]
mov eax, dword [ebx]
cmp cl, byte [eax]
je 0x602506
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1d
jmp 0x6032f8
cmp dword [ebp - 0xc8], 0x2d
jne 0x602552
cmp dword [ebp - 0xc4], 0
jne 0x602526
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3a
jmp 0x6032f8
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 0x602584
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x6032f8
cmp dword [ebp - 0xc8], 0x2b
jne 0x602584
cmp dword [ebp - 0xc4], 0
jne 0x602572
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x6032f8
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 0x6026bd
mov byte [edi], 0
cmp dword [ebp - 0xc4], 0
je 0x6025cc
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.005fc640
add esp, 0xc
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jne 0x60266a
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x44]
cmp edx, dword [ebp - 0xc4]
jge 0x6025f5
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x6032f8
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 0x602639
mov eax, dword [ebp + 0x30]
push eax
call fcn.005fb6c0
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x6032f8
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 0x6026bd
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 0x6026bd
cmp dword [ebp + 0x2c], 0
jg 0x6026bd
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.005fcda8
add esp, 0x14
test eax, eax
je 0x6026bd
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x28
jmp 0x6032f8
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 0x6032f1
mov dword [ebp - 0x28], 0xffffffff
jmp 0x6032f1
xor eax, eax
lea edx, [ebp - 0x1b4]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1c0], edx
jmp 0x6027d1
mov ecx, dword [ebx]
inc dword [ebx]
movzx ecx, byte [ecx]
cmp ecx, 0x69
jg 0x602745
je 0x60277c
sub ecx, 0x2d
je 0x602756
sub ecx, 0x1d
je 0x602764
sub ecx, 0xb
je 0x6027a8
sub ecx, 3
je 0x6027b6
jmp 0x6027c1
sub ecx, 0x6d
je 0x602787
sub ecx, 6
je 0x602792
sub ecx, 5
je 0x60279d
jmp 0x6027c1
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1c0], eax
jmp 0x6027d1
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x80000
mov ecx, dword [ebp + 0x30]
or dword [ecx + 0x64], 0x400
jmp 0x6027d1
mov eax, dword [ebp - 0x1c0]
or dword [eax], 1
jmp 0x6027d1
mov edx, dword [ebp - 0x1c0]
or dword [edx], 2
jmp 0x6027d1
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 4
jmp 0x6027d1
mov eax, dword [ebp - 0x1c0]
or dword [eax], 8
jmp 0x6027d1
mov edx, dword [ebp - 0x1c0]
or dword [edx], 0x200
jmp 0x6027d1
mov ecx, dword [ebp - 0x1c0]
or dword [ecx], 0x40
jmp 0x6027d1
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
dec dword [ebx]
jmp 0x6032f8
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x29
je 0x6027eb
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jne 0x602721
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 0x60287e
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
add edx, 3
cmp edi, edx
jne 0x602838
cmp dword [ebp + 0x34], 0
je 0x60282a
mov ecx, dword [ebp + 0x34]
cmp dword [ecx], 6
jne 0x602838
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0xc0]
mov dword [eax + 0x60], edx
jmp 0x602866
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 0x602861
mov edx, 1
jmp 0x602863
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 0x6032f1
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x6028bf
test byte [ebp - 0x4b], 0x10
je 0x602898
mov dword [ebp - 0x14], 0x83
jmp 0x6028bf
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 0x6028de
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x52
jmp 0x6032f8
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 0x60290d
xor edx, edx
jmp 0x602910
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 0x602945
mov eax, 1
jmp 0x602947
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 0x60296c
cmp dword [ebp - 0x14], 0x80
je 0x60296c
xor ecx, ecx
jmp 0x602971
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.00603310
add esp, 0x3c
test eax, eax
je 0x6032f8
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x58]
cmp dword [ebp - 0x14], 0x81
jne 0x6029b2
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [ebp - 0xe8]
ja 0x6029b2
mov byte [edi], 0x82
cmp dword [ebp - 0x14], 0x7d
jl 0x6029c7
cmp dword [ebp - 0x14], 0x80
jg 0x6029c7
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x5c]
cmp dword [ebp - 0x14], 0x87
jne 0x602a7d
cmp dword [ebp + 0x34], 0
jne 0x602a7d
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 0x6029ec
xor ecx, ecx
mov cl, byte [edi + 3]
cmp ecx, 0x91
jne 0x602a4e
cmp dword [ebp - 0x204], 1
jle 0x602a45
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x36
jmp 0x6032f8
mov dword [ebp - 0x14], 0x91
jmp 0x602a7d
cmp dword [ebp - 0x204], 2
jle 0x602a65
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1b
jmp 0x6032f8
cmp dword [ebp - 0x204], 1
jne 0x602a7d
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 0x602a96
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xe
jmp 0x6032f8
cmp dword [ebp + 0x34], 0
je 0x602ae7
mov eax, dword [ebp + 0x34]
mov edx, 0x7fffffeb
sub edx, dword [eax]
mov eax, dword [ebp - 0x54]
add eax, 0xfffffffa
cmp edx, eax
jge 0x602abe
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x6032f8
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 0x6032f1
cmp dword [ebp - 0x14], 0x91
mov edi, dword [ebp - 0x60]
je 0x6032f1
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 0x602bac
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x602b5b
cmp dword [ebp - 0xdc], 0
jl 0x602b4b
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 0x602b52
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
jmp 0x602b88
cmp dword [ebp - 0xdc], 0
jl 0x602b88
cmp dword [ebp - 0xd8], 0
jge 0x602b88
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 0x6032f1
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x2c], eax
jmp 0x6032f1
cmp dword [ebp - 0x14], 0x7d
jne 0x6032f1
cmp dword [ebp - 0xd8], 0
jl 0x6032f1
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x2c], ecx
jmp 0x6032f1
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.005fb7d8
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x6032f8
test esi, esi
jne 0x602c1d
mov esi, dword [ebp - 0xec]
jmp 0x602f97
cmp esi, 0x1a
jne 0x602c4d
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x5c
jne 0x602c41
mov ecx, dword [ebx]
movzx ecx, byte [ecx + 2]
cmp ecx, 0x45
jne 0x602c41
add dword [ebx], 2
jmp 0x6032f1
mov dword [ebp - 0x64], 1
jmp 0x6032f1
cmp esi, 0x19
je 0x6032f1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x602c6d
cmp esi, 5
jle 0x602c6d
cmp esi, 0x17
jge 0x602c6d
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 0x602d5c
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 0x602cab
mov ecx, 0x3e
jmp 0x602cb0
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 0x602d06
cmp dword [ebp - 0x20c], 0x2d
je 0x602d06
cmp dword [ebp - 0x20c], 0x30
jb 0x602cf7
cmp dword [ebp - 0x20c], 0x39
jbe 0x602d06
mov dword [ebp - 0xac], 1
jmp 0x602066
mov edx, dword [ebx]
add edx, 2
mov dword [ebp - 0x208], edx
jmp 0x602d19
inc dword [ebp - 0x208]
mov ecx, dword [ebp - 0x208]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x30
jl 0x602d37
mov edx, dword [ebp - 0x208]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x39
jle 0x602d13
mov al, byte [ebp - 0xe0]
mov edx, dword [ebp - 0x208]
cmp al, byte [edx]
je 0x602d55
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x39
jmp 0x6032f1
inc dword [ebx]
jmp 0x60244a
cmp esi, 0x1c
jne 0x602dd1
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
cmp edx, 0x3c
je 0x602d93
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx + 1]
cmp eax, 0x27
je 0x602d93
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
cmp ecx, 0x7b
je 0x602d93
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x45
jmp 0x6032f1
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 0x602daf
mov edx, 0x3e
jmp 0x602dc6
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x27
jne 0x602dc1
mov edx, 0x27
jmp 0x602dc6
mov edx, 0x7d
mov dword [ebp - 0xe0], edx
jmp 0x602066
test esi, esi
jge 0x602eaf
neg esi
mov dword [ebp - 0xc4], esi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x602dee
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x602dfb
mov al, 0x72
jmp 0x602dfd
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 0x602e32
mov ecx, dword [ebp - 0xc4]
mov eax, 1
shl eax, cl
jmp 0x602e37
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 0x602e57
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 0x6032f1
mov edx, dword [ebp - 0x210]
movzx ecx, word [edx + 4]
cmp ecx, dword [ebp - 0xc4]
jne 0x602e93
mov eax, dword [ebp - 0x210]
mov word [eax + 6], 1
jmp 0x6032f1
mov edx, dword [ebp - 0x210]
mov ecx, dword [edx]
mov dword [ebp - 0x210], ecx
cmp dword [ebp - 0x210], 0
jne 0x602e70
jmp 0x6032f1
cmp esi, 0xf
je 0x602eb9
cmp esi, 0x10
jne 0x602f27
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.005fc03c
add esp, 0x14
test eax, eax
je 0x6032f8
mov dword [ebp - 0x78], edi
cmp esi, 0x10
sete al
and eax, 1
cmp eax, dword [ebp - 0x214]
je 0x602f0b
mov dl, 0x10
jmp 0x602f0d
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 0x6032f1
cmp esi, 5
je 0x602f36
cmp esi, 4
je 0x602f36
cmp esi, 1
jne 0x602f49
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x48], 0
jne 0x602f49
mov eax, dword [ebp + 0x30]
mov dword [eax + 0x48], 1
cmp esi, 0x1d
jl 0x602f68
cmp esi, 0x22
jg 0x602f68
mov edx, dword [ebx]
inc edx
mov dword [ebp - 0x74], edx
mov ecx, dword [esi*4 + 0x6ded5c]
dec ecx
mov dword [ebx], ecx
jmp 0x6032f1
cmp esi, 5
jle 0x602f76
cmp esi, 0x17
jge 0x602f76
mov eax, edi
jmp 0x602f78
xor eax, eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x84], 0
jne 0x602f8d
cmp esi, 0xe
jne 0x602f8d
mov dl, 0xd
jmp 0x602f8f
mov edx, esi
mov byte [edi], dl
inc edi
jmp 0x6032f1
cmp dword [ebp - 0x84], 0
je 0x602fbd
cmp esi, 0x7f
jbe 0x602fbd
lea eax, [ebp - 0xf4]
push eax
push esi
call fcn.00617624
add esp, 8
mov dword [ebp - 0xe4], eax
jmp 0x603024
mov ecx, esi
mov byte [ebp - 0xf4], cl
mov dword [ebp - 0xe4], 1
jmp 0x603024
mov dword [ebp - 0xe4], 1
mov ecx, esi
mov byte [ebp - 0xf4], cl
cmp dword [ebp - 0x84], 0
je 0x603024
cmp esi, 0xc0
jb 0x603024
jmp 0x60300f
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 0x602ff6
mov dword [ebp - 0x78], edi
cmp dword [ebp - 0x84], 0
je 0x6031e5
test byte [ebp - 0x4c], 1
je 0x6031e5
movzx esi, byte [ebp - 0xf4]
cmp esi, 0xc0
jb 0x603181
test esi, 0x20
jne 0x603071
and esi, 0x1f
xor eax, eax
mov al, byte [ebp - 0xf3]
shl esi, 6
and eax, 0x3f
or esi, eax
jmp 0x603181
test esi, 0x10
jne 0x6030a1
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 0x603181
test esi, 8
jne 0x6030e1
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 0x603181
test esi, 4
jne 0x60312e
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 0x603181
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 0x60318a
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x6eeb1c]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x6031a7
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x6e201c]
xor eax, eax
mov al, byte [ecx*8 + 0x6e0c87]
mov esi, eax
test eax, eax
je 0x6031e5
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 0x6032f1
or ecx, 0xffffffff
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], ecx
jmp 0x6032f1
test byte [ebp - 0x4c], 1
je 0x6031ef
mov al, 0x1e
jmp 0x6031f1
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 0x603224
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 0x60320a
xor ecx, ecx
mov cl, byte [ebp - 0xf4]
cmp ecx, 0xd
je 0x60323e
xor eax, eax
mov al, byte [ebp - 0xf4]
cmp eax, 0xa
jne 0x603248
mov edx, dword [ebp + 0x30]
or dword [edx + 0x64], 0x800
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x6032b6
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 0x603270
cmp dword [ebp - 0x40], 0
jne 0x6032ab
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 0x6032f1
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 0x6032f1
or edx, 0xffffffff
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
jmp 0x6032f1
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 0x6032dd
cmp dword [ebp - 0x40], 0
jne 0x6032f1
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 0x5fea1b
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