Function at 0x4cc400
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffde8
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 eax, dword [ebp + 8]
xor ecx, ecx
lea edi, [ebp - 0x6c]
mov edx, dword [eax]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x50], ecx
xor eax, eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ebx, dword [edx]
xor edx, edx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov eax, dword [ecx]
xor ecx, ecx
mov dword [edi], eax
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x78], ecx
xor eax, eax
mov dword [ebp - 0x7c], eax
xor edx, edx
mov dword [ebp - 0x80], edx
test byte [ebp - 0x4b], 8
setne cl
and ecx, 1
mov dword [ebp - 0x84], ecx
test byte [ebp - 0x4b], 2
setne al
and eax, 1
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, 0xfffffffe
mov edx, dword [ebp - 0x18]
xor edx, 1
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
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 0x4cc4b2
mov edx, 1
jmp 0x4cc4b4
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [edi]
movzx esi, byte [eax]
test esi, esi
jne 0x4cc4d5
cmp dword [ebp - 0x74], 0
je 0x4cc4d5
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [edi], eax
mov dword [ebp - 0x74], edx
mov ecx, dword [edi]
movzx esi, byte [ecx]
cmp dword [ebp + 0x34], 0
je 0x4cc56f
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ecx + 0x34]
add edx, 0xffffff9c
cmp ebx, edx
jbe 0x4cc500
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x34
jmp 0x4d0426
cmp ebx, dword [ebp - 0x58]
jae 0x4cc508
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
mov ecx, ebx
mov edx, 0x7fffffeb
sub edx, dword [eax]
sub ecx, dword [ebp - 0x58]
cmp edx, ecx
jge 0x4cc529
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4d0426
mov edx, ebx
mov ecx, dword [ebp + 0x34]
sub edx, dword [ebp - 0x58]
add dword [ecx], edx
cmp dword [ebp - 0x78], 0
je 0x4cc567
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x5c]
jbe 0x4cc56a
mov edx, ebx
sub edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x5c]
push eax
call fcn.00509f14
mov edx, dword [ebp - 0x78]
add esp, 0xc
sub edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x78], ecx
sub ebx, edx
jmp 0x4cc56a
mov ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x58], ebx
jmp 0x4cc594
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0x30]
add edx, dword [ecx + 0x34]
add edx, 0xffffff9c
cmp edx, dword [eax + 0x24]
jae 0x4cc594
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x4d0426
cmp dword [ebp - 0x64], 0
je 0x4cc601
test esi, esi
je 0x4cc601
cmp esi, 0x5c
jne 0x4cc5b9
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x45
jne 0x4cc5b9
xor eax, eax
mov dword [ebp - 0x64], eax
inc dword [edi]
jmp 0x4d041f
cmp dword [ebp - 0x7c], 0
je 0x4cc5dd
cmp dword [ebp + 0x34], 0
jne 0x4cc5d8
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [edi]
push ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.004cb648
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x4b], 0x40
je 0x4d02c5
mov dword [ebp - 0x7c], ebx
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [edi]
push eax
push ebx
call fcn.004cb610
add esp, 0xc
mov ebx, eax
jmp 0x4d02c5
cmp esi, 0x2a
je 0x4cc627
cmp esi, 0x2b
je 0x4cc627
cmp esi, 0x3f
je 0x4cc627
cmp esi, 0x7b
jne 0x4cc623
mov edx, dword [edi]
inc edx
push edx
call fcn.004c9d34
pop ecx
test eax, eax
jne 0x4cc627
xor ecx, ecx
jmp 0x4cc62c
mov ecx, 1
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa8], 0
jne 0x4cc66a
cmp dword [ebp - 0x7c], 0
je 0x4cc66a
mov eax, dword [ebp - 0x50]
add dword [ebp - 0x50], 0xffffffff
test eax, eax
jg 0x4cc66a
cmp dword [ebp + 0x34], 0
jne 0x4cc665
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [edi]
push ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.004cb648
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x4c], 8
je 0x4cc762
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0xc]
test byte [eax + esi], 1
jne 0x4d041f
cmp esi, 0x23
jne 0x4cc762
inc dword [edi]
jmp 0x4cc74a
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x68], 0
je 0x4cc6dd
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edi]
jbe 0x4cc6d2
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp + 0x30]
add ecx, 0x6c
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x68]
push eax
mov edx, dword [edi]
push edx
call fcn.004dcff0
add esp, 0x14
test eax, eax
jne 0x4cc6d6
xor ecx, ecx
jmp 0x4cc718
mov ecx, 1
jmp 0x4cc718
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
sub edx, dword [ecx + 0x6c]
cmp edx, dword [edi]
jb 0x4cc70f
mov eax, dword [edi]
mov ecx, dword [ebp + 0x30]
mov dl, byte [eax]
cmp dl, byte [ecx + 0x70]
jne 0x4cc70f
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x6c], 1
je 0x4cc713
mov edx, dword [edi]
mov eax, dword [ebp + 0x30]
mov cl, byte [edx + 1]
cmp cl, byte [eax + 0x71]
je 0x4cc713
xor ecx, ecx
jmp 0x4cc718
mov ecx, 1
test ecx, ecx
je 0x4cc727
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x6c]
dec eax
add dword [edi], eax
jmp 0x4cc755
inc dword [edi]
cmp dword [ebp - 0x84], 0
je 0x4cc74a
jmp 0x4cc736
inc dword [edi]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx]
and ecx, 0xc0
cmp ecx, 0x80
je 0x4cc734
mov eax, dword [edi]
cmp byte [eax], 0
jne 0x4cc694
mov edx, dword [edi]
cmp byte [edx], 0
jne 0x4d041f
xor esi, esi
test byte [ebp - 0x4b], 0x40
je 0x4cc786
cmp dword [ebp - 0xa8], 0
jne 0x4cc786
mov dword [ebp - 0x7c], ebx
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [edi]
push edx
push ebx
call fcn.004cb610
add esp, 0xc
mov ebx, eax
mov ecx, esi
cmp ecx, 0x3f
jg 0x4cc7d4
je 0x4cd856
cmp ecx, 0x29
jg 0x4cc7b6
je 0x4cc80c
sub ecx, 1
jb 0x4cc80c
sub ecx, 0x23
je 0x4cc89b
sub ecx, 4
je 0x4ce8e8
jmp 0x4d02c5
sub ecx, 0x2a
je 0x4cd838
dec ecx
je 0x4cd846
sub ecx, 3
je 0x4cc8b4
jmp 0x4d02c5
cmp ecx, 0x5e
jg 0x4cc7fb
je 0x4cc871
sub ecx, 0x5b
je 0x4cc910
dec ecx
je 0x4cff2c
dec ecx
je 0x4cc8f0
jmp 0x4d02c5
sub ecx, 0x7b
je 0x4cd803
dec ecx
je 0x4cc80c
jmp 0x4d02c5
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 ecx, dword [ebp - 0x24]
mov dword [edx], ecx
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp - 0x2c]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], ebx
mov eax, dword [ebp + 0x10]
mov edx, dword [edi]
mov dword [eax], edx
cmp dword [ebp + 0x34], 0
je 0x4cc867
mov ecx, dword [ebp + 0x34]
mov edx, ebx
mov eax, 0x7fffffeb
sub eax, dword [ecx]
sub edx, dword [ebp - 0x58]
cmp eax, edx
jge 0x4cc85f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x4d0426
sub ebx, dword [ebp - 0x58]
mov eax, dword [ebp + 0x34]
add dword [eax], ebx
mov eax, 1
jmp 0x4d042f
xor edx, edx
mov dword [ebp - 0x78], edx
test byte [ebp - 0x4c], 2
je 0x4cc892
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cc889
mov dword [ebp - 0x28], 0xffffffff
mov byte [ebx], 0x1a
inc ebx
jmp 0x4d041f
mov byte [ebx], 0x19
inc ebx
jmp 0x4d041f
xor ecx, ecx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0x4c], 2
je 0x4cc8aa
mov al, 0x1c
jmp 0x4cc8ac
mov al, 0x1b
mov byte [ebx], al
inc ebx
jmp 0x4d041f
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cc8c1
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
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x78], ebx
test byte [ebp - 0x4c], 4
je 0x4cc8e6
mov cl, 0xd
jmp 0x4cc8e8
mov cl, 0xc
mov byte [ebx], cl
inc ebx
jmp 0x4d041f
mov eax, dword [ebp + 0x30]
test byte [eax + 0x53], 2
je 0x4d02c5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x40
jmp 0x4d0426
mov dword [ebp - 0x78], ebx
mov eax, dword [edi]
cmp byte [eax + 1], 0x3a
je 0x4cc92b
mov edx, dword [edi]
cmp byte [edx + 1], 0x2e
je 0x4cc92b
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x3d
jne 0x4cc95c
lea eax, [ebp - 0x70]
push eax
mov edx, dword [edi]
push edx
call fcn.004cb4b0
add esp, 8
test eax, eax
je 0x4cc95c
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x3a
jne 0x4cc94d
mov eax, 0xd
jmp 0x4cc952
mov eax, 0x1f
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
jmp 0x4d0426
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
inc dword [edi]
mov eax, dword [edi]
movzx esi, byte [eax]
cmp esi, 0x5c
jne 0x4cc998
mov eax, dword [edi]
cmp byte [eax + 1], 0x45
jne 0x4cc97c
inc dword [edi]
jmp 0x4cc964
push 3
push 0x65e82a
mov edx, dword [edi]
inc edx
push edx
call fcn.0050a1ec
add esp, 0xc
test eax, eax
jne 0x4cc9b2
add dword [edi], 3
jmp 0x4cc964
cmp dword [ebp - 0x9c], 0
jne 0x4cc9b2
cmp esi, 0x5e
jne 0x4cc9b2
mov dword [ebp - 0x9c], 1
jmp 0x4cc964
cmp esi, 0x5d
jne 0x4cc9f0
mov ecx, dword [ebp + 0x30]
test byte [ecx + 0x53], 2
je 0x4cc9f0
cmp dword [ebp - 0x9c], 0
je 0x4cc9cd
mov al, 0xd
jmp 0x4cc9cf
mov al, 0x97
mov byte [ebx], al
inc ebx
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cc9df
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 0x4d041f
xor eax, eax
mov dword [ebp - 0xa0], eax
xor edx, edx
mov dword [ebp - 0xb4], edx
xor ecx, ecx
mov dword [ebp - 0xb8], ecx
push 0x20
push 0
lea eax, [ebp - 0x1f8]
push eax
call fcn.00509f60
xor edx, edx
lea ecx, [ebx + 4]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x90]
add esp, 0xc
test esi, esi
mov dword [ebp - 0x98], eax
je 0x4cd6a4
cmp dword [ebp - 0x84], 0
je 0x4ccb99
cmp esi, 0xc0
jb 0x4ccb99
mov edx, dword [edi]
movzx esi, byte [edx]
cmp esi, 0xc0
jb 0x4ccb99
test esi, 0x20
jne 0x4cca8b
mov eax, dword [edi]
and esi, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 6
and edx, 0x3f
or esi, edx
inc dword [edi]
jmp 0x4ccb99
test esi, 0x10
jne 0x4ccabc
mov ecx, dword [edi]
xor eax, eax
mov edx, dword [edi]
and esi, 0xf
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 6
and ecx, 0x3f
shl esi, 0xc
or esi, eax
or esi, ecx
add dword [edi], 2
jmp 0x4ccb99
test esi, 8
jne 0x4ccafc
mov eax, dword [edi]
xor edx, edx
and esi, 7
mov ecx, dword [edi]
mov dl, byte [eax + 1]
xor eax, eax
and edx, 0x3f
mov al, byte [ecx + 2]
shl edx, 0xc
and eax, 0x3f
shl esi, 0x12
xor ecx, ecx
or esi, edx
mov edx, dword [edi]
shl eax, 6
or esi, eax
mov cl, byte [edx + 3]
and ecx, 0x3f
or esi, ecx
add dword [edi], 3
jmp 0x4ccb99
test esi, 4
jne 0x4ccb48
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [edi]
and esi, 3
mov dl, byte [eax + 1]
xor eax, eax
and edx, 0x3f
mov al, byte [ecx + 2]
shl edx, 0x12
and eax, 0x3f
shl esi, 0x18
xor ecx, ecx
or esi, edx
mov edx, dword [edi]
shl eax, 0xc
or esi, eax
mov eax, dword [edi]
mov cl, byte [edx + 3]
xor edx, edx
and ecx, 0x3f
mov dl, byte [eax + 4]
shl ecx, 6
and edx, 0x3f
or esi, ecx
or esi, edx
add dword [edi], 4
jmp 0x4ccb99
mov ecx, dword [edi]
xor eax, eax
and esi, 1
mov edx, dword [edi]
mov al, byte [ecx + 1]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 2]
shl eax, 0x18
and ecx, 0x3f
shl esi, 0x1e
xor edx, edx
or esi, eax
mov eax, dword [edi]
shl ecx, 0x12
or esi, ecx
mov dl, byte [eax + 3]
and edx, 0x3f
mov ecx, dword [edi]
shl edx, 0xc
xor eax, eax
or esi, edx
mov edx, dword [edi]
mov al, byte [ecx + 4]
xor ecx, ecx
and eax, 0x3f
mov cl, byte [edx + 5]
shl eax, 6
and ecx, 0x3f
or esi, eax
or esi, ecx
add dword [edi], 5
cmp dword [ebp + 0x34], 0
je 0x4ccbd4
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x98]
jbe 0x4ccbd4
mov dword [ebp - 0x94], 1
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp + 0x34]
sub edx, dword [ebp - 0x98]
add dword [ecx], edx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x64], 0
je 0x4ccc00
cmp esi, 0x5c
jne 0x4cd245
mov edx, dword [edi]
cmp byte [edx + 1], 0x45
jne 0x4cd245
xor ecx, ecx
mov dword [ebp - 0x64], ecx
inc dword [edi]
jmp 0x4cd66b
cmp esi, 0x5b
jne 0x4cce76
mov eax, dword [edi]
cmp byte [eax + 1], 0x3a
je 0x4ccc25
mov edx, dword [edi]
cmp byte [edx + 1], 0x2e
je 0x4ccc25
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x3d
jne 0x4cce76
lea eax, [ebp - 0x70]
push eax
mov edx, dword [edi]
push edx
call fcn.004cb4b0
add esp, 8
test eax, eax
je 0x4cce76
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 8]
mov dword [ebp - 0x108], edx
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x3a
je 0x4ccc66
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1f
jmp 0x4d0426
add dword [edi], 2
mov edx, dword [edi]
cmp byte [edx], 0x5e
jne 0x4ccc86
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0xa0], 1
inc dword [edi]
mov ecx, dword [ebp - 0x70]
sub ecx, dword [edi]
push ecx
mov eax, dword [edi]
push eax
call fcn.004cb520
add esp, 8
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jge 0x4cccb4
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1e
jmp 0x4d0426
test byte [ebp - 0x4c], 1
je 0x4ccccb
cmp dword [ebp - 0xfc], 2
jg 0x4ccccb
xor ecx, ecx
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0xfc]
lea eax, [eax + eax*2]
mov dword [ebp - 0xfc], eax
push 0x20
mov edx, dword [ebp - 0xfc]
mov ecx, dword [edx*4 + 0x65da40]
add ecx, dword [ebp - 0x108]
push ecx
lea eax, [ebp - 0x218]
push eax
call fcn.00509ecc
add esp, 0xc
mov edx, dword [ebp - 0xfc]
mov ecx, dword [edx*4 + 0x65da44]
mov dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0xfc]
mov edx, dword [eax*4 + 0x65da48]
mov dword [ebp - 0x104], edx
cmp dword [ebp - 0x100], 0
jl 0x4ccda1
cmp dword [ebp - 0x104], 0
jl 0x4ccd6c
xor esi, esi
lea eax, [ebp - 0x218]
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x100]
add edx, esi
mov ecx, dword [ebp - 0x108]
mov al, byte [ecx + edx]
mov edx, dword [ebp - 0x1d4]
or byte [edx], al
inc esi
inc dword [ebp - 0x1d4]
cmp esi, 0x20
jb 0x4ccd45
jmp 0x4ccda1
xor esi, esi
lea eax, [ebp - 0x218]
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x108]
add edx, esi
inc esi
mov al, byte [ecx + edx]
mov edx, dword [ebp - 0x1d4]
not al
and byte [edx], al
inc dword [ebp - 0x1d4]
cmp esi, 0x20
jb 0x4ccd7a
cmp dword [ebp - 0x104], 0
jge 0x4ccdb0
neg dword [ebp - 0x104]
cmp dword [ebp - 0x104], 1
jne 0x4ccdc2
and byte [ebp - 0x217], 0xc3
jmp 0x4ccdd2
cmp dword [ebp - 0x104], 2
jne 0x4ccdd2
and byte [ebp - 0x20d], 0x7f
cmp dword [ebp - 0xf8], 0
je 0x4cce1b
xor esi, esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1d8], eax
lea edx, [ebp - 0x218]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d8]
inc esi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1d4]
cmp esi, 0x20
jb 0x4ccdf5
jmp 0x4cce57
xor esi, esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1d4], eax
lea edx, [ebp - 0x218]
mov dword [ebp - 0x1d8], edx
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1d4]
inc esi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d8]
cmp esi, 0x20
jb 0x4cce35
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [edi], ecx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xb8], 2
jmp 0x4cd66b
cmp esi, 0x5c
jne 0x4cd245
push 1
mov eax, dword [ebp - 0x4c]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
lea edx, [ebp - 0xe8]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push edx
push edi
call fcn.004c9dac
add esp, 0x18
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x4d0426
test eax, eax
jne 0x4ccebb
mov esi, dword [ebp - 0xe8]
jmp 0x4cd245
cmp eax, 5
jne 0x4cceca
mov esi, 8
jmp 0x4cd245
cmp eax, 0xc
jne 0x4ccee2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x47
jmp 0x4d0426
cmp eax, 0x1a
jne 0x4ccf10
mov edx, dword [edi]
cmp byte [edx + 1], 0x5c
jne 0x4cceff
mov ecx, dword [edi]
cmp byte [ecx + 2], 0x45
jne 0x4cceff
add dword [edi], 2
jmp 0x4cd66b
mov dword [ebp - 0x64], 1
jmp 0x4cd66b
cmp eax, 0x19
je 0x4cd66b
mov edx, dword [ebp + 0x30]
add eax, 0xfffffffa
mov ecx, dword [edx + 8]
mov dword [ebp - 0x10c], ecx
inc dword [ebp - 0xb4]
add dword [ebp - 0xb8], 2
cmp eax, 0xf
ja case.0x4ccf3e.12
jmp dword [eax*4 + 0x4ccf45]
xor esi, esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 0x40]
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
inc esi
mov dl, byte [eax]
or byte [ecx], dl
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1d4]
cmp esi, 0x20
jb 0x4ccfa2
jmp 0x4cd66b
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 0x40]
mov dword [ebp - 0x1d8], ecx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
inc esi
mov dl, byte [eax]
not dl
or byte [ecx], dl
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d8]
cmp esi, 0x20
jb 0x4ccff0
jmp 0x4cd66b
xor esi, esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 0xa0]
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
inc esi
mov dl, byte [eax]
or byte [ecx], dl
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1d4]
cmp esi, 0x20
jb 0x4cd039
jmp 0x4cd66b
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 0xa0]
mov dword [ebp - 0x1d8], ecx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
inc esi
mov dl, byte [eax]
not dl
or byte [ecx], dl
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d8]
cmp esi, 0x20
jb 0x4cd08a
jmp 0x4cd66b
mov eax, dword [ebp - 0x10c]
mov esi, 2
mov dl, byte [eax]
or byte [ebp - 0x1f8], dl
mov ecx, dword [ebp - 0x10c]
mov al, byte [ecx + 1]
and al, 0xf7
or byte [ebp - 0x1f7], al
lea eax, [ebp - 0x1f6]
mov dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x10c]
lea ecx, [edx + 2]
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d8]
inc esi
mov dl, byte [eax]
or byte [ecx], dl
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1d4]
cmp esi, 0x20
jb 0x4cd0f2
jmp 0x4cd66b
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x10c]
mov ecx, edx
mov dword [ebp - 0x1d8], ecx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
inc esi
mov dl, byte [eax]
not dl
or byte [ecx], dl
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d8]
cmp esi, 0x20
jb 0x4cd13f
or byte [ebp - 0x1f7], 8
jmp 0x4cd66b
push 0xffffffffffffffff
push 0x65e8b0
mov eax, dword [ebp + 0x30]
lea ecx, [ebp - 0x90]
push eax
lea eax, [ebp - 0x1f8]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.004cc308
add esp, 0x18
jmp 0x4cd66b
push 0x65e8b0
lea eax, [ebp - 0x90]
mov edx, dword [ebp + 0x30]
push edx
lea edx, [ebp - 0x1f8]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.004cc368
add esp, 0x14
jmp 0x4cd66b
push 0xffffffffffffffff
push 0x65e900
mov ecx, dword [ebp + 0x30]
lea edx, [ebp - 0x90]
push ecx
lea ecx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
call fcn.004cc308
add esp, 0x18
jmp 0x4cd66b
push 0x65e900
lea ecx, [ebp - 0x90]
mov eax, dword [ebp + 0x30]
push eax
lea eax, [ebp - 0x1f8]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.004cc368
add esp, 0x14
jmp 0x4cd66b
test byte [ebp - 0x4c], 0x40
je 0x4cd227
mov edx, dword [ebp + 0x14]
mov dword [edx], 7
jmp 0x4d0426
dec dword [ebp - 0xb4]
sub dword [ebp - 0xb8], 2
mov ecx, dword [edi]
movzx esi, byte [ecx]
jmp 0x4cd245
xor eax, eax
mov dword [ebp - 0x64], eax
add dword [edi], 2
mov edx, dword [edi]
cmp byte [edx + 1], 0x5c
jne 0x4cd255
mov ecx, dword [edi]
cmp byte [ecx + 2], 0x45
je 0x4cd23d
mov eax, dword [edi]
cmp esi, 0xd
mov dword [ebp - 0xf4], eax
je 0x4cd267
cmp esi, 0xa
jne 0x4cd271
mov edx, dword [ebp + 0x30]
or dword [edx + 0x54], 0x800
cmp dword [ebp - 0x64], 0
jne 0x4cd575
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x2d
jne 0x4cd575
add dword [edi], 2
jmp 0x4cd28f
add dword [edi], 2
mov eax, dword [edi]
cmp byte [eax], 0x5c
jne 0x4cd2c0
mov edx, dword [edi]
cmp byte [edx + 1], 0x45
je 0x4cd28c
jmp 0x4cd2c0
add dword [edi], 2
mov ecx, dword [edi]
cmp byte [ecx], 0x5c
jne 0x4cd2b7
mov eax, dword [edi]
cmp byte [eax + 1], 0x45
jne 0x4cd2b7
add dword [edi], 2
jmp 0x4cd2c0
mov dword [ebp - 0x64], 1
jmp 0x4cd2cf
mov edx, dword [edi]
cmp byte [edx], 0x5c
jne 0x4cd2cf
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x51
je 0x4cd2a0
mov eax, dword [edi]
cmp byte [eax], 0
je 0x4cd2e3
cmp dword [ebp - 0x64], 0
jne 0x4cd2f0
mov edx, dword [edi]
cmp byte [edx], 0x5d
jne 0x4cd2f0
mov ecx, dword [ebp - 0xf4]
mov dword [edi], ecx
jmp 0x4cd575
cmp dword [ebp - 0x84], 0
je 0x4cd48a
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x110], 0xc0
jb 0x4cd496
test byte [ebp - 0x110], 0x20
jne 0x4cd347
mov eax, dword [edi]
mov ecx, dword [ebp - 0x110]
and ecx, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x110], ecx
inc dword [edi]
jmp 0x4cd496
test byte [ebp - 0x110], 0x10
jne 0x4cd385
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x110]
and ecx, 0xf
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
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 - 0x110], ecx
add dword [edi], 2
jmp 0x4cd496
test byte [ebp - 0x110], 8
jne 0x4cd3d2
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x110]
and ecx, 7
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0xc
shl ecx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
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 - 0x110], ecx
add dword [edi], 3
jmp 0x4cd496
test byte [ebp - 0x110], 4
jne 0x4cd42b
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x110]
and ecx, 3
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0x12
shl ecx, 0x18
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [edi]
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 - 0x110], ecx
add dword [edi], 4
jmp 0x4cd496
mov eax, dword [edi]
xor edx, edx
mov ecx, dword [ebp - 0x110]
and ecx, 1
mov dl, byte [eax + 1]
and edx, 0x3f
mov eax, dword [edi]
shl edx, 0x18
shl ecx, 0x1e
or ecx, edx
xor edx, edx
mov dl, byte [eax + 2]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0x12
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
mov eax, dword [edi]
and edx, 0x3f
shl edx, 0xc
or ecx, edx
xor edx, edx
mov dl, byte [eax + 4]
mov eax, dword [edi]
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 - 0x110], ecx
add dword [edi], 5
jmp 0x4cd496
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x64], 0
jne 0x4cd500
cmp dword [ebp - 0x110], 0x5c
jne 0x4cd500
push 1
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x38]
lea ecx, [ebp - 0x110]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ecx
push edi
call fcn.004c9dac
add esp, 0x18
mov dword [ebp - 0x114], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d0426
cmp dword [ebp - 0x114], 0
je 0x4cd500
cmp dword [ebp - 0x114], 5
jne 0x4cd4f6
mov dword [ebp - 0x110], 8
jmp 0x4cd500
mov edx, dword [ebp - 0xf4]
mov dword [edi], edx
jmp 0x4cd575
cmp esi, dword [ebp - 0x110]
jbe 0x4cd516
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x4d0426
cmp esi, dword [ebp - 0x110]
je 0x4cd575
mov dword [ebp - 0xb8], 2
cmp dword [ebp - 0x110], 0xd
je 0x4cd53a
cmp dword [ebp - 0x110], 0xa
jne 0x4cd544
mov eax, dword [ebp + 0x30]
or dword [eax + 0x54], 0x800
mov edx, dword [ebp - 0x110]
push edx
push esi
mov ecx, dword [ebp + 0x30]
lea edx, [ebp - 0x90]
push ecx
lea ecx, [ebp - 0x1f8]
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
call fcn.004cc220
add esp, 0x18
add dword [ebp - 0xb4], eax
jmp 0x4cd66b
cmp dword [ebp - 0xb8], 2
jge 0x4cd584
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 1
jne 0x4cd645
mov eax, dword [edi]
cmp byte [eax + 1], 0x5d
jne 0x4cd645
inc dword [edi]
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 0x4cd605
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cd5c1
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
test byte [ebp - 0x4c], 1
je 0x4cd5d7
mov cl, 0x20
jmp 0x4cd5d9
mov cl, 0x1f
mov byte [ebx], cl
inc ebx
cmp dword [ebp - 0x84], 0
je 0x4cd5fb
cmp esi, 0x7f
jbe 0x4cd5fb
push ebx
push esi
call fcn.004dd3c8
add esp, 8
add ebx, eax
jmp 0x4d041f
mov eax, esi
mov byte [ebx], al
inc ebx
jmp 0x4d041f
cmp dword [ebp - 0x84], 0
je 0x4cd62e
cmp esi, 0x7f
jbe 0x4cd62e
lea edx, [ebp - 0xf0]
push edx
push esi
call fcn.004dd3c8
add esp, 8
mov dword [ebp - 0xe0], eax
jmp 0x4d0318
mov eax, esi
mov byte [ebp - 0xf0], al
mov dword [ebp - 0xe0], 1
jmp 0x4d0318
push esi
push esi
mov edx, dword [ebp + 0x30]
lea eax, [ebp - 0x90]
push edx
lea edx, [ebp - 0x1f8]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.004cc220
add esp, 0x18
add dword [ebp - 0xb4], eax
inc dword [edi]
mov ecx, dword [edi]
movzx esi, byte [ecx]
test esi, esi
jne 0x4cd691
cmp dword [ebp - 0x74], 0
je 0x4cd6a4
mov eax, dword [ebp - 0x74]
xor edx, edx
mov dword [edi], eax
mov dword [ebp - 0x74], edx
inc dword [edi]
mov ecx, dword [edi]
movzx esi, byte [ecx]
test esi, esi
je 0x4cd6a4
cmp esi, 0x5d
jne 0x4cca40
cmp dword [ebp - 0x64], 0
jne 0x4cca40
test esi, esi
jne 0x4cd6b6
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x4d0426
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x98]
jbe 0x4cd6ce
mov dword [ebp - 0x94], 1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cd6db
mov dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x94], 0
je 0x4cd7a1
cmp dword [ebp - 0xa0], 0
je 0x4cd713
test byte [ebp - 0x49], 0x20
je 0x4cd7a1
mov eax, dword [ebp - 0x90]
mov byte [eax], 0
inc dword [ebp - 0x90]
mov byte [ebx], 0x6c
inc ebx
add ebx, 2
cmp dword [ebp - 0x9c], 0
je 0x4cd736
mov dl, 1
jmp 0x4cd738
xor edx, edx
mov byte [ebx], dl
cmp dword [ebp - 0xb4], 0
jle 0x4cd77a
or byte [ebx], 2
inc ebx
mov eax, dword [ebp - 0x90]
sub eax, ebx
lea ecx, [ebx + 0x20]
push eax
push ebx
push ecx
call fcn.00509f14
add esp, 0xc
lea eax, [ebp - 0x1f8]
push 0x20
push eax
push ebx
call fcn.00509ecc
add esp, 0xc
mov ebx, dword [ebp - 0x90]
add ebx, 0x20
jmp 0x4cd780
mov ebx, dword [ebp - 0x90]
mov eax, ebx
mov edx, dword [ebp - 0x78]
sub eax, dword [ebp - 0x78]
mov ecx, ebx
sar eax, 8
mov byte [edx + 1], al
sub ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
and cl, 0xff
mov byte [eax + 2], cl
jmp 0x4d041f
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0xa0]
jne 0x4cd7b3
mov cl, 0x6a
jmp 0x4cd7b5
mov cl, 0x6b
mov byte [ebx], cl
inc ebx
cmp dword [ebp + 0x34], 0
jne 0x4cd7fb
cmp dword [ebp - 0x9c], 0
je 0x4cd7e9
xor esi, esi
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x1d4]
not byte [edx]
inc esi
inc dword [ebp - 0x1d4]
cmp esi, 0x20
jb 0x4cd7d5
push 0x20
lea ecx, [ebp - 0x1f8]
push ecx
push ebx
call fcn.00509ecc
add esp, 0xc
add ebx, 0x20
jmp 0x4d041f
cmp dword [ebp - 0xa8], 0
je 0x4d02c5
mov eax, dword [ebp + 0x14]
push eax
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0xc]
push ecx
mov eax, dword [edi]
inc eax
push eax
call fcn.004ca524
add esp, 0x10
mov dword [edi], eax
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
jne 0x4d0426
jmp 0x4cd862
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], 0xffffffff
jmp 0x4cd862
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0xffffffff
jmp 0x4cd862
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x78], 0
jne 0x4cd876
mov edx, dword [ebp + 0x14]
mov dword [edx], 9
jmp 0x4d0426
cmp dword [ebp - 0xc], 0
jne 0x4cd894
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x10]
jne 0x4cd8a0
xor edx, edx
jmp 0x4cd8a5
mov edx, 2
mov dword [ebp - 0x44], edx
xor eax, eax
mov dword [ebp - 8], eax
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x60], eax
mov edx, dword [edi]
cmp byte [edx + 1], 0x2b
jne 0x4cd8d6
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xa4], 1
inc dword [edi]
jmp 0x4cd8ee
mov eax, dword [edi]
cmp byte [eax + 1], 0x3f
jne 0x4cd8e8
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
inc dword [edi]
jmp 0x4cd8ee
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x6f
jne 0x4cd9b6
push 3
mov edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x78]
add ecx, 3
push ecx
call fcn.00509f14
mov eax, dword [ebp - 0x78]
add esp, 0xc
add ebx, 6
mov byte [eax], 0x7b
mov edx, dword [ebp - 0x78]
mov byte [edx + 1], 0
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 2], 6
mov eax, dword [ebp - 0x78]
mov byte [eax + 6], 0x72
mov edx, dword [ebp - 0x78]
mov byte [edx + 7], 0
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 8], 6
mov dword [ebp - 0x54], 9
cmp dword [ebp + 0x34], 0
jne 0x4cd9b6
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x24]
mov eax, dword [ecx + 0x10]
add eax, 2
cmp edx, eax
jb 0x4cd9b6
mov edx, dword [ebp + 0x30]
xor eax, eax
mov ecx, dword [edx + 0x24]
mov edx, dword [ebp + 0x30]
mov al, byte [ecx - 2]
mov ecx, dword [edx + 0x24]
xor edx, edx
shl eax, 8
mov dl, byte [ecx - 1]
or eax, edx
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x78]
inc eax
sub eax, dword [ecx + 0x14]
cmp eax, dword [ebp - 0x118]
jne 0x4cd9b6
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x118]
add eax, 3
sar eax, 8
mov ecx, dword [edx + 0x24]
mov byte [ecx - 2], al
mov edx, dword [ebp + 0x30]
mov al, byte [ebp - 0x118]
add al, 3
and al, 0xff
mov ecx, dword [edx + 0x24]
mov byte [ecx - 1], al
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x1d
je 0x4cd9da
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x1e
je 0x4cd9da
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x1f
je 0x4cd9da
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x20
jne 0x4cdaed
mov edx, dword [ebp - 0x78]
mov cl, byte [edx]
sub cl, 0x1d
je 0x4cd9f0
dec cl
je 0x4cd9f7
dec cl
je 0x4cda00
dec cl
je 0x4cda09
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4cda10
mov dword [ebp - 8], 0xd
jmp 0x4cda10
mov dword [ebp - 8], 0x1a
jmp 0x4cda10
mov dword [ebp - 8], 0x27
cmp dword [ebp - 0x84], 0
je 0x4cda7c
xor edx, edx
mov dl, byte [ebx - 1]
and edx, 0xc0
cmp edx, 0x80
jne 0x4cda7c
lea ecx, [ebx - 1]
mov dword [ebp - 0x11c], ecx
jmp 0x4cda3d
dec dword [ebp - 0x11c]
mov eax, dword [ebp - 0x11c]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x4cda37
mov esi, ebx
sub esi, dword [ebp - 0x11c]
push esi
mov eax, dword [ebp - 0x11c]
push eax
lea edx, [ebp - 0x8c]
push edx
call fcn.00509ecc
add esp, 0xc
or esi, 0x10000000
jmp 0x4cda9d
movzx esi, byte [ebx - 1]
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x1e
ja 0x4cda9d
cmp dword [ebp - 0xc], 1
jle 0x4cda9d
mov dword [ebp - 0x24], esi
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x58]
or ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0xa4], 0
jne 0x4cdb47
cmp dword [ebp - 0x10], 0
jge 0x4cdb47
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [edi]
inc ecx
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp - 0x78]
push edx
call fcn.004cb680
add esp, 0x14
test eax, eax
je 0x4cdb47
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xa4], 1
jmp 0x4cdb47
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x17
jae 0x4cdd82
mov dword [ebp - 8], 0x34
mov edx, dword [ebp - 0x78]
cmp dword [ebp - 0xa4], 0
movzx esi, byte [edx]
jne 0x4cdb47
cmp dword [ebp - 0x10], 0
jge 0x4cdb47
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [edi]
inc ecx
push ecx
mov eax, dword [ebp - 0x84]
push eax
mov edx, dword [ebp - 0x78]
push edx
call fcn.004cb680
add esp, 0x14
test eax, eax
je 0x4cdb47
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0xa4], 1
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x10
je 0x4cdb57
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0xf
jne 0x4cdb75
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx + 1]
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx + 2]
mov dword [ebp - 0x128], ecx
jmp 0x4cdb84
or eax, 0xffffffff
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], ebx
cmp dword [ebp - 0x10], 0
mov ebx, dword [ebp - 0x78]
je 0x4ce8d5
mov eax, dword [ebp - 8]
add dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x4cdbec
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cdbb7
mov dl, byte [ebp - 4]
add dl, 0x21
mov byte [ebx], dl
inc ebx
jmp 0x4cdd47
cmp dword [ebp - 0x10], 1
jne 0x4cdbcb
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [ebx], cl
inc ebx
jmp 0x4cdd47
mov al, byte [ebp - 4]
add al, 0x27
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0x10]
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0x10]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
jmp 0x4cdd47
cmp dword [ebp - 0xc], 1
jne 0x4cdc3a
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cdc05
mov al, byte [ebp - 4]
add al, 0x23
mov byte [ebx], al
inc ebx
jmp 0x4cdd47
cmp dword [ebp - 0x10], 1
mov ebx, dword [ebp - 0x120]
je 0x4ce8d5
mov al, byte [ebp - 4]
add al, 0x27
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0x10]
dec edx
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0x10]
add cl, 0xff
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
jmp 0x4cdd47
mov al, byte [ebp - 8]
add al, 0x29
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0xc]
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0xc]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
cmp dword [ebp - 0x10], 0
jge 0x4cdcb9
cmp dword [ebp - 0x84], 0
je 0x4cdc8c
test esi, 0x10000000
je 0x4cdc8c
mov eax, esi
lea edx, [ebp - 0x8c]
and eax, 7
push eax
push edx
push ebx
call fcn.00509ecc
add esp, 0xc
mov ecx, esi
and ecx, 7
add ebx, ecx
jmp 0x4cdcac
mov eax, esi
mov byte [ebx], al
inc ebx
cmp dword [ebp - 0x124], 0
jl 0x4cdcac
mov dl, byte [ebp - 0x124]
mov byte [ebx], dl
inc ebx
mov cl, byte [ebp - 0x128]
mov byte [ebx], cl
inc ebx
mov al, byte [ebp - 4]
add al, 0x21
mov byte [ebx], al
inc ebx
jmp 0x4cdd47
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
je 0x4cdd47
cmp dword [ebp - 0x84], 0
je 0x4cdcf5
test esi, 0x10000000
je 0x4cdcf5
mov ecx, esi
lea eax, [ebp - 0x8c]
and ecx, 7
push ecx
push eax
push ebx
call fcn.00509ecc
add esp, 0xc
mov edx, esi
and edx, 7
add ebx, edx
jmp 0x4cdcfa
mov ecx, esi
mov byte [ebx], cl
inc ebx
cmp dword [ebp - 0x124], 0
jl 0x4cdd15
mov al, byte [ebp - 0x124]
mov byte [ebx], al
inc ebx
mov dl, byte [ebp - 0x128]
mov byte [ebx], dl
inc ebx
mov ecx, dword [ebp - 0xc]
sub dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 1
jne 0x4cdd2b
mov al, byte [ebp - 4]
add al, 0x25
mov byte [ebx], al
inc ebx
jmp 0x4cdd47
mov dl, byte [ebp - 4]
add dl, 0x27
mov byte [ebx], dl
inc ebx
mov ecx, dword [ebp - 0x10]
sar ecx, 8
mov byte [ebx], cl
mov al, byte [ebp - 0x10]
and al, 0xff
mov byte [ebx + 1], al
add ebx, 2
cmp dword [ebp - 0x84], 0
je 0x4cdd78
test esi, 0x10000000
je 0x4cdd78
mov edx, esi
lea ecx, [ebp - 0x8c]
and edx, 7
push edx
push ecx
push ebx
call fcn.00509ecc
add esp, 0xc
and esi, 7
add ebx, esi
jmp 0x4ce61e
mov eax, esi
mov byte [ebx], al
inc ebx
jmp 0x4ce61e
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x6a
je 0x4cddae
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x6b
je 0x4cddae
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x6c
je 0x4cddae
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x6d
je 0x4cddae
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x6e
jne 0x4cde49
cmp dword [ebp - 0x10], 0
jne 0x4cddbc
mov ebx, dword [ebp - 0x78]
jmp 0x4ce8d5
cmp dword [ebp - 0xc], 0
jne 0x4cddd5
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cddd5
mov al, byte [ebp - 4]
add al, 0x62
mov byte [ebx], al
inc ebx
jmp 0x4ce61e
cmp dword [ebp - 0xc], 1
jne 0x4cddef
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cddef
mov dl, byte [ebp - 4]
add dl, 0x64
mov byte [ebx], dl
inc ebx
jmp 0x4ce61e
cmp dword [ebp - 0xc], 0
jne 0x4cde09
cmp dword [ebp - 0x10], 1
jne 0x4cde09
mov cl, byte [ebp - 4]
add cl, 0x66
mov byte [ebx], cl
inc ebx
jmp 0x4ce61e
mov al, byte [ebp - 4]
add al, 0x68
mov byte [ebx], al
inc ebx
mov edx, dword [ebp - 0xc]
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0xc]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cde30
xor eax, eax
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
sar edx, 8
mov byte [ebx], dl
mov cl, byte [ebp - 0x10]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
jmp 0x4ce61e
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x77
jb 0x4ce604
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x81
ja 0x4ce604
mov esi, ebx
xor eax, eax
sub esi, dword [ebp - 0x78]
xor edx, edx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x81
jne 0x4cde8b
mov eax, dword [ebp - 0x78]
cmp byte [eax + 3], 0x8b
je 0x4ce8d5
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x7b
jae 0x4cdeb0
cmp dword [ebp - 0xc], 0
jg 0x4ce8d5
cmp dword [ebp - 0x10], 0
jl 0x4cdea9
cmp dword [ebp - 0x10], 1
jle 0x4cdeb0
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
jne 0x4cdfbb
cmp dword [ebp - 0x10], 1
jg 0x4cdf20
mov byte [ebx], 0
mov ecx, dword [ebp - 0x80]
push ecx
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x84]
push edx
push 1
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.004cb574
add esp, 0x14
push esi
mov eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
inc edx
push edx
call fcn.00509f14
add esp, 0xc
inc ebx
cmp dword [ebp - 0x10], 0
jne 0x4cdf04
mov ecx, dword [ebp - 0x78]
mov byte [ecx], 0x9b
jmp 0x4ce8d5
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x78]
mov dl, byte [ebp - 4]
add dl, 0x8c
mov byte [ecx], dl
inc dword [ebp - 0x78]
jmp 0x4cdfb3
mov byte [ebx], 0
mov eax, dword [ebp - 0x80]
push eax
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebp - 0x84]
push ecx
push 4
mov eax, dword [ebp - 0x78]
push eax
call fcn.004cb574
add esp, 0x14
push esi
mov edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x78]
add ecx, 4
push ecx
call fcn.00509f14
mov edx, dword [ebp - 0x78]
mov al, byte [ebp - 4]
add al, 0x8c
add esp, 0xc
mov byte [edx], al
add ebx, 4
inc dword [ebp - 0x78]
mov ecx, dword [ebp - 0x78]
mov byte [ecx], 0x7d
inc dword [ebp - 0x78]
cmp dword [ebp - 0x130], 0
jne 0x4cdf7a
xor eax, eax
jmp 0x4cdf83
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x130], edx
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x78]
sar ecx, 8
mov byte [eax], cl
mov ecx, dword [ebp - 0x78]
mov dl, byte [ebp - 0x138]
and dl, 0xff
mov byte [ecx + 1], dl
add dword [ebp - 0x78], 2
dec dword [ebp - 0x10]
jmp 0x4ce170
cmp dword [ebp - 0xc], 1
jle 0x4ce164
cmp dword [ebp + 0x34], 0
je 0x4ce028
mov eax, dword [ebp - 0xc]
dec eax
imul dword [ebp - 0x54]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x54]
cdq
push edx
push eax
mov eax, dword [ebp - 0xc]
dec eax
cdq
call fcn.0051012c
cmp edx, 0
jne 0x4cdff6
cmp eax, 0x7fffffff
ja 0x4ce00a
jmp 0x4cdff8
jg 0x4ce00a
mov ecx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [ecx]
cmp eax, dword [ebp - 0x13c]
jge 0x4ce018
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x4d0426
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x13c]
add dword [ecx], eax
jmp 0x4ce164
cmp dword [ebp - 0x68], 0
je 0x4ce040
cmp dword [ebp - 0x2c], 0
jge 0x4ce040
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x12c], 1
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0xc]
jge 0x4ce164
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x140], ecx
push esi
mov eax, dword [ebp - 0x78]
push eax
push ebx
call fcn.00509ecc
add esp, 0xc
jmp 0x4ce0d2
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x80]
sub ecx, dword [edx + 0x10]
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x140]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x148], edx
mov ecx, dword [ebp + 0x30]
push ecx
call fcn.004c9cac
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d0426
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x144]
mov dword [ebp - 0x80], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x148]
mov dword [ebp - 0x140], ecx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x140]
add edx, dword [ecx + 0x34]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp + 0x30]
add edx, 0xffffff9c
sub edx, eax
cmp edx, dword [ecx + 0x24]
jb 0x4ce075
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x140]
jae 0x4ce144
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 + 0x24]
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 + 0x24]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x24], 2
add eax, 2
cmp eax, dword [ebp - 0x140]
jb 0x4ce0ff
mov eax, dword [ebp - 0x140]
add ebx, esi
mov dword [ebp - 0x80], eax
inc dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebp - 0xc]
jl 0x4ce059
cmp dword [ebp - 0x10], 0
jle 0x4ce170
mov edx, dword [ebp - 0xc]
sub dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x4ce402
cmp dword [ebp + 0x34], 0
je 0x4ce1eb
cmp dword [ebp - 0x10], 0
jle 0x4ce1eb
mov ecx, dword [ebp - 0x54]
add ecx, 7
imul ecx, dword [ebp - 0x10]
add ecx, 0xfffffffa
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0x54]
add eax, 7
cdq
push edx
push eax
mov eax, dword [ebp - 0x10]
cdq
call fcn.0051012c
cmp edx, 0
jne 0x4ce1b9
cmp eax, 0x7fffffff
ja 0x4ce1cd
jmp 0x4ce1bb
jg 0x4ce1cd
mov ecx, dword [ebp + 0x34]
mov eax, 0x7fffffeb
sub eax, dword [ecx]
cmp eax, dword [ebp - 0x14c]
jge 0x4ce1db
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x4d0426
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x14c]
add dword [ecx], eax
jmp 0x4ce384
mov edx, dword [ebp - 0x10]
dec edx
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 0
jl 0x4ce384
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x150], eax
mov dl, byte [ebp - 4]
add dl, 0x8c
mov byte [ebx], dl
inc ebx
cmp dword [ebp - 0x12c], 0
je 0x4ce25f
mov byte [ebx], 0x7d
inc ebx
cmp dword [ebp - 0x130], 0
jne 0x4ce231
xor ecx, ecx
jmp 0x4ce239
mov ecx, ebx
sub ecx, dword [ebp - 0x130]
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x130], ebx
mov eax, dword [ebp - 0x154]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x154]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
push esi
mov eax, dword [ebp - 0x78]
push eax
push ebx
call fcn.00509ecc
add esp, 0xc
jmp 0x4ce2cc
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x80]
sub ecx, dword [edx + 0x10]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x150]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x15c], edx
mov ecx, dword [ebp + 0x30]
push ecx
call fcn.004c9cac
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d0426
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x158]
mov dword [ebp - 0x80], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x150], ecx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x150]
add edx, dword [ecx + 0x34]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp + 0x30]
add edx, 0xffffff9c
sub edx, eax
cmp edx, dword [ecx + 0x24]
jb 0x4ce26f
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x150]
jae 0x4ce366
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 - 0x12c], 0
je 0x4ce319
mov ecx, 4
jmp 0x4ce31e
mov ecx, 1
add edx, ecx
mov ecx, dword [ebp + 0x30]
sar edx, 8
mov ecx, dword [ecx + 0x24]
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 - 0x12c], 0
je 0x4ce344
mov cl, 4
jmp 0x4ce346
mov cl, 1
add dl, cl
mov ecx, dword [ebp + 0x30]
and dl, 0xff
mov ecx, dword [ecx + 0x24]
mov byte [ecx + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x24], 2
add eax, 2
cmp eax, dword [ebp - 0x150]
jb 0x4ce2f9
mov eax, dword [ebp - 0x150]
add ebx, esi
mov dword [ebp - 0x80], eax
dec dword [ebp - 0x12c]
cmp dword [ebp - 0x12c], 0
jge 0x4ce202
cmp dword [ebp - 0x130], 0
je 0x4ce61e
mov eax, ebx
sub eax, dword [ebp - 0x130]
inc eax
mov edx, ebx
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 - 0x160], ecx
cmp dword [ebp - 0x160], 0
jne 0x4ce3bf
xor ecx, ecx
jmp 0x4ce3cb
mov ecx, dword [ebp - 0x130]
sub ecx, dword [ebp - 0x160]
mov dword [ebp - 0x130], ecx
mov byte [ebx], 0x72
inc ebx
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov ecx, eax
and cl, 0xff
mov byte [ebx + 1], cl
mov ecx, eax
sar ecx, 8
add ebx, 2
and al, 0xff
mov byte [edx + 1], cl
mov byte [edx + 2], al
cmp dword [ebp - 0x130], 0
jne 0x4ce391
jmp 0x4ce61e
lea eax, [ebx - 3]
xor ecx, ecx
mov dword [ebp - 0x164], eax
xor eax, eax
mov edx, dword [ebp - 0x164]
mov al, byte [edx + 1]
mov edx, dword [ebp - 0x164]
shl eax, 8
mov cl, byte [edx + 2]
or eax, ecx
mov edx, dword [ebp - 0x164]
sub edx, eax
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x168]
cmp byte [eax], 0x7b
je 0x4ce44a
mov ecx, dword [ebp - 0x168]
cmp byte [ecx], 0x7c
jne 0x4ce45c
cmp dword [ebp - 0xa4], 0
je 0x4ce45c
mov eax, dword [ebp - 0x168]
mov byte [eax], 0x7d
mov edx, dword [ebp - 0x168]
cmp byte [edx], 0x7b
je 0x4ce472
mov ecx, dword [ebp - 0x168]
cmp byte [ecx], 0x7c
jne 0x4ce484
mov edx, dword [ebp - 0x164]
mov al, byte [ebp - 4]
add al, 0x73
mov byte [edx], al
jmp 0x4ce61e
cmp dword [ebp + 0x34], 0
jne 0x4ce4f2
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp - 0x164]
push ecx
mov eax, dword [ebp - 0x16c]
push eax
call fcn.004cb038
add esp, 0x10
test eax, eax
je 0x4ce4c6
mov edx, dword [ebp - 0x168]
add byte [edx], 5
jmp 0x4ce4f2
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x16c]
xor eax, eax
mov al, byte [ecx + 1]
xor ecx, ecx
shl eax, 8
mov cl, byte [edx + 2]
or eax, ecx
add dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cmp byte [eax], 0x71
je 0x4ce496
cmp dword [ebp - 0xa4], 0
je 0x4ce5f4
mov edx, dword [ebp - 0x168]
cmp byte [edx], 0x81
je 0x4ce519
mov ecx, dword [ebp - 0x168]
cmp byte [ecx], 0x86
jne 0x4ce5c1
mov eax, ebx
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x170], eax
mov byte [ebx], 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 - 0x168]
push edx
call fcn.004cb574
add esp, 0x14
mov ecx, dword [ebp - 0x170]
push ecx
mov eax, dword [ebp - 0x168]
push eax
mov edx, dword [ebp - 0x168]
add edx, 3
push edx
call fcn.00509f14
add dword [ebp - 0x170], 3
mov ecx, dword [ebp - 0x168]
add ebx, 3
add esp, 0xc
mov byte [ecx], 0x7e
mov byte [ebx], 0x75
inc ebx
mov eax, dword [ebp - 0x170]
sar eax, 8
mov byte [ebx], al
mov dl, byte [ebp - 0x170]
and dl, 0xff
mov byte [ebx + 1], dl
add ebx, 2
mov ecx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x168]
sar ecx, 8
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x168]
mov dl, byte [ebp - 0x170]
and dl, 0xff
mov byte [ecx + 2], dl
jmp 0x4ce5d2
mov eax, dword [ebp - 0x168]
inc byte [eax]
mov edx, dword [ebp - 0x164]
mov byte [edx], 0x75
cmp dword [ebp - 0x134], 0
je 0x4ce5e4
mov ecx, dword [ebp - 0x134]
mov byte [ecx], 0x8e
cmp dword [ebp - 0xc], 2
jge 0x4ce61e
xor eax, eax
mov dword [ebp - 0xa4], eax
jmp 0x4ce61e
mov ecx, dword [ebp - 0x164]
mov dl, byte [ebp - 4]
add dl, 0x73
mov byte [ecx], dl
jmp 0x4ce61e
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x97
je 0x4ce8d5
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xb
jmp 0x4d0426
cmp dword [ebp - 0xa4], 0
je 0x4ce8d5
mov ecx, dword [ebp - 0x60]
cmp byte [ecx], 0x5d
jne 0x4ce664
mov eax, dword [ebp - 0x60]
cmp byte [eax + 3], 0x10
je 0x4ce645
mov edx, dword [ebp - 0x60]
cmp byte [edx + 3], 0xf
jne 0x4ce64c
mov ecx, 2
jmp 0x4ce64e
xor ecx, ecx
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
xor eax, eax
mov al, byte [edx + 0x65ed84]
add ecx, eax
add dword [ebp - 0x60], ecx
jmp 0x4ce6ae
mov edx, dword [ebp - 0x60]
cmp byte [edx], 0x29
je 0x4ce674
mov ecx, dword [ebp - 0x60]
cmp byte [ecx], 0x43
jne 0x4ce6ae
mov eax, dword [ebp - 0x60]
xor edx, edx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [edx + 0x65ed84]
add dword [ebp - 0x60], ecx
cmp dword [ebp - 0x84], 0
je 0x4ce6ae
mov eax, dword [ebp - 0x60]
cmp byte [eax - 1], 0xc0
jb 0x4ce6ae
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx - 1]
and ecx, 0x3f
xor eax, eax
mov al, byte [ecx + 0x65ee20]
add dword [ebp - 0x60], eax
mov edx, ebx
sub edx, dword [ebp - 0x60]
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x174], 0
jle 0x4ce8d5
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x4ce6df.33
mov al, byte [eax + 0x4ce6e6]
jmp dword [eax*4 + 0x4ce721]
mov edx, dword [ebp - 0x60]
mov byte [edx], 0x2a
jmp 0x4ce8d5
mov ecx, dword [ebp - 0x60]
mov byte [ecx], 0x2b
jmp 0x4ce8d5
mov eax, dword [ebp - 0x60]
mov byte [eax], 0x2c
jmp 0x4ce8d5
mov edx, dword [ebp - 0x60]
mov byte [edx], 0x2d
jmp 0x4ce8d5
mov ecx, dword [ebp - 0x60]
mov byte [ecx], 0x37
jmp 0x4ce8d5
mov eax, dword [ebp - 0x60]
mov byte [eax], 0x38
jmp 0x4ce8d5
mov edx, dword [ebp - 0x60]
mov byte [edx], 0x39
jmp 0x4ce8d5
mov ecx, dword [ebp - 0x60]
mov byte [ecx], 0x3a
jmp 0x4ce8d5
mov eax, dword [ebp - 0x60]
mov byte [eax], 0x44
jmp 0x4ce8d5
mov edx, dword [ebp - 0x60]
mov byte [edx], 0x45
jmp 0x4ce8d5
mov ecx, dword [ebp - 0x60]
mov byte [ecx], 0x46
jmp 0x4ce8d5
mov eax, dword [ebp - 0x60]
mov byte [eax], 0x47
jmp 0x4ce8d5
mov edx, dword [ebp - 0x60]
mov byte [edx], 0x51
jmp 0x4ce8d5
mov ecx, dword [ebp - 0x60]
mov byte [ecx], 0x52
jmp 0x4ce8d5
mov eax, dword [ebp - 0x60]
mov byte [eax], 0x53
jmp 0x4ce8d5
mov edx, dword [ebp - 0x60]
mov byte [edx], 0x54
jmp 0x4ce8d5
mov ecx, dword [ebp - 0x60]
mov byte [ecx], 0x5e
jmp 0x4ce8d5
mov eax, dword [ebp - 0x60]
mov byte [eax], 0x5f
jmp 0x4ce8d5
mov edx, dword [ebp - 0x60]
mov byte [edx], 0x60
jmp 0x4ce8d5
mov ecx, dword [ebp - 0x60]
mov byte [ecx], 0x61
jmp 0x4ce8d5
mov byte [ebx], 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 - 0x60]
push eax
call fcn.004cb574
add esp, 0x14
mov edx, dword [ebp - 0x174]
push edx
mov ecx, dword [ebp - 0x60]
push ecx
mov eax, dword [ebp - 0x60]
add eax, 3
push eax
call fcn.00509f14
add dword [ebp - 0x174], 3
mov edx, dword [ebp - 0x60]
add ebx, 3
add esp, 0xc
mov byte [edx], 0x7b
mov byte [ebx], 0x72
inc ebx
mov ecx, dword [ebp - 0x174]
sar ecx, 8
mov byte [ebx], cl
mov al, byte [ebp - 0x174]
and al, 0xff
mov byte [ebx + 1], al
add ebx, 2
mov edx, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x60]
sar edx, 8
mov byte [ecx + 1], dl
mov edx, dword [ebp - 0x60]
mov al, byte [ebp - 0x174]
and al, 0xff
mov byte [edx + 2], al
xor ecx, ecx
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x44]
or dword [eax + 0x58], edx
jmp 0x4d041f
mov ecx, dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x14], 0x7f
mov edx, dword [ebp + 0x30]
xor eax, eax
mov ecx, dword [edx + 0x24]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0xb0], eax
inc dword [edi]
mov edx, dword [edi]
cmp byte [edx], 0x2a
jne 0x4cebc1
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x3a
je 0x4ce93d
mov eax, dword [edi]
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ecx + 0xc]
test byte [eax + edx], 2
je 0x4cebc1
xor edx, edx
xor eax, eax
mov dword [ebp - 0x17c], edx
xor edx, edx
mov dword [ebp - 0x180], 0x65dae8
mov ecx, dword [edi]
inc ecx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x78], edx
inc dword [edi]
jmp 0x4ce96b
inc dword [edi]
mov ecx, dword [edi]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 2
jne 0x4ce969
mov eax, dword [edi]
sub eax, dword [ebp - 0x184]
mov dword [ebp - 0x178], eax
mov edx, dword [edi]
cmp byte [edx], 0x3a
jne 0x4ce9d6
inc dword [edi]
mov ecx, dword [edi]
mov dword [ebp - 0x188], ecx
jmp 0x4ce9a0
inc dword [edi]
mov eax, dword [edi]
cmp byte [eax], 0
je 0x4ce9ae
mov edx, dword [edi]
cmp byte [edx], 0x29
jne 0x4ce99e
mov ecx, dword [edi]
sub ecx, dword [ebp - 0x188]
mov dword [ebp - 0x17c], ecx
cmp dword [ebp - 0x17c], 0xff
jbe 0x4ce9d6
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x4b
jmp 0x4d0426
mov edx, dword [edi]
cmp byte [edx], 0x29
je 0x4ce9eb
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3c
jmp 0x4d0426
xor esi, esi
jmp 0x4ceb96
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x65d9d0]
cmp edx, dword [ebp - 0x178]
jne 0x4ceb84
mov ecx, dword [ebp - 0x178]
push ecx
mov eax, dword [ebp - 0x180]
push eax
mov edx, dword [ebp - 0x184]
push edx
call fcn.0050a1ec
add esp, 0xc
test eax, eax
jne 0x4ceb84
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x65d9d4], 0x98
jne 0x4ceab9
cmp dword [ebp - 0x17c], 0
je 0x4cea54
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3b
jmp 0x4d0426
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x5c], 1
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x4cea87
mov byte [ebx], 0x9a
inc ebx
movzx edx, word [eax + 4]
sar edx, 8
mov byte [ebx], dl
mov cl, byte [eax + 4]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
mov eax, dword [eax]
test eax, eax
jne 0x4cea68
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x4c], 0
jle 0x4cea94
mov dl, 0x99
jmp 0x4cea96
mov dl, 0x98
mov byte [ebx], dl
xor eax, eax
mov al, dl
mov dword [ebp - 0x18c], eax
inc ebx
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4ceb52
mov dword [ebp - 0x28], 0xffffffff
jmp 0x4ceb52
cmp dword [ebp - 0x17c], 0
jne 0x4ceaf6
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x65d9d4], 0
jge 0x4ceadd
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x42
jmp 0x4d0426
lea edx, [esi + esi*2]
xor eax, eax
mov cl, byte [edx*4 + 0x65d9d4]
mov byte [ebx], cl
inc ebx
mov al, cl
mov dword [ebp - 0x18c], eax
jmp 0x4ceb52
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x65d9d8], 0
jge 0x4ceb11
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3b
jmp 0x4d0426
lea edx, [esi + esi*2]
mov cl, byte [edx*4 + 0x65d9d8]
mov byte [ebx], cl
xor eax, eax
mov al, cl
mov dword [ebp - 0x18c], eax
inc ebx
mov dl, byte [ebp - 0x17c]
mov byte [ebx], dl
inc ebx
mov eax, dword [ebp - 0x17c]
push eax
mov edx, dword [ebp - 0x188]
push edx
push ebx
call fcn.00509ecc
add esp, 0xc
add ebx, dword [ebp - 0x17c]
mov byte [ebx], 0
inc ebx
mov ecx, dword [ebp - 0x18c]
add ecx, 0xffffff70
sub ecx, 4
jb 0x4ceb76
sub ecx, 2
jb 0x4ceb6a
jmp 0x4ceba2
mov eax, dword [ebp + 0x30]
or dword [eax + 0x54], 0x1000
jmp 0x4ceba2
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x60], 1
jmp 0x4ceba2
lea ecx, [esi + esi*2]
mov eax, dword [ecx*4 + 0x65d9d0]
inc eax
add dword [ebp - 0x180], eax
inc esi
cmp esi, dword [0x65da3c]
jl 0x4ce9f2
cmp esi, dword [0x65da3c]
jl 0x4d041f
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3c
jmp 0x4d0426
mov ecx, dword [edi]
cmp byte [ecx], 0x3f
jne 0x4cfc19
inc dword [edi]
mov eax, dword [edi]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jg 0x4cec56
je 0x4cecd5
add edx, 0xffffffdf
cmp edx, 0x18
ja case.0x4cebeb.34
jmp dword [edx*4 + 0x4cebf2]
cmp edx, 0x43
jg 0x4cec7d
je 0x4cf227
sub edx, 0x3c
je 0x4cf1b2
dec edx
je 0x4cf175
dec edx
je 0x4cf219
jmp case.0x4cebeb.34
sub edx, 0x50
je 0x4cf2d7
sub edx, 2
je 0x4cf7d4
sub edx, 0x2a
je 0x4ceccb
jmp case.0x4cebeb.34
inc dword [edi]
jmp 0x4cec9f
inc dword [edi]
mov ecx, dword [edi]
cmp byte [ecx], 0
je 0x4cecad
mov eax, dword [edi]
cmp byte [eax], 0x29
jne 0x4cec9d
mov edx, dword [edi]
cmp byte [edx], 0
jne 0x4d041f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x12
jmp 0x4d0426
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0x14], 0x7d
inc dword [edi]
jmp 0x4cfc50
mov dword [ebp - 0x14], 0x81
mov eax, dword [edi]
cmp byte [eax + 1], 0x3f
jne 0x4ced16
mov edx, dword [edi]
cmp byte [edx + 2], 0x3d
je 0x4cfc50
mov ecx, dword [edi]
cmp byte [ecx + 2], 0x21
je 0x4cfc50
mov eax, dword [edi]
cmp byte [eax + 2], 0x3c
je 0x4cfc50
mov byte [ebx + 3], 0x87
mov dword [ebp - 0xc8], 3
mov dword [ebp - 0xc4], 0xffffffff
mov edx, dword [edi]
cmp byte [edx + 1], 0x52
jne 0x4ced51
mov ecx, dword [edi]
cmp byte [ecx + 2], 0x26
jne 0x4ced51
mov dword [ebp - 0xdc], 0xffffffff
add dword [edi], 2
mov byte [ebx + 3], 0x89
jmp 0x4ceda3
mov eax, dword [edi]
cmp byte [eax + 1], 0x3c
jne 0x4ced67
mov dword [ebp - 0xdc], 0x3e
inc dword [edi]
jmp 0x4ceda3
mov edx, dword [edi]
cmp byte [edx + 1], 0x27
jne 0x4ced7d
mov dword [ebp - 0xdc], 0x27
inc dword [edi]
jmp 0x4ceda3
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
mov eax, dword [edi]
cmp byte [eax + 1], 0x2d
je 0x4ced95
mov edx, dword [edi]
cmp byte [edx + 1], 0x2b
jne 0x4ceda3
inc dword [edi]
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
mov dword [ebp - 0xc4], eax
mov edx, dword [edi]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx + 1]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne 0x4cedc6
inc dword [edi]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1c
jmp 0x4d0426
xor eax, eax
mov dword [ebp - 0xc0], eax
inc dword [edi]
mov edx, dword [edi]
mov dword [ebp - 0x1a4], edx
jmp 0x4cee14
cmp dword [ebp - 0xc0], 0
jl 0x4cee12
mov ecx, dword [edi]
cmp byte [ecx], 0x30
jb 0x4cee09
mov eax, dword [edi]
cmp byte [eax], 0x39
ja 0x4cee09
mov edx, dword [ebp - 0xc0]
mov ecx, dword [edi]
add edx, edx
xor eax, eax
mov al, byte [ecx]
sub eax, 0x30
lea edx, [edx + edx*4]
add edx, eax
jmp 0x4cee0c
or edx, 0xffffffff
mov dword [ebp - 0xc0], edx
inc dword [edi]
mov ecx, dword [edi]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 0x10
jne 0x4cedda
mov eax, dword [edi]
sub eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0xdc], 0
jle 0x4cee4b
mov dl, byte [ebp - 0xdc]
mov ecx, dword [edi]
inc dword [edi]
cmp dl, byte [ecx]
jne 0x4cee54
mov eax, dword [edi]
inc dword [edi]
cmp byte [eax], 0x29
je 0x4cee64
dec dword [edi]
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1a
jmp 0x4d0426
cmp dword [ebp + 0x34], 0
jne 0x4cfc50
cmp dword [ebp - 0xc4], 0
jle 0x4ceefe
cmp dword [ebp - 0xc0], 0
jg 0x4cee92
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3a
jmp 0x4d0426
cmp dword [ebp - 0xc4], 0x2d
jne 0x4ceeaa
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x38]
sub edx, dword [ebp - 0xc0]
inc edx
jmp 0x4ceeb6
mov ecx, dword [ebp + 0x30]
mov edx, dword [ecx + 0x38]
add edx, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 0
jle 0x4ceed3
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x3c]
cmp ecx, dword [ebp - 0xc0]
jge 0x4ceee1
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x4d0426
mov edx, dword [ebp - 0xc0]
sar edx, 8
mov byte [ebx + 4], dl
mov cl, byte [ebp - 0xc0]
and cl, 0xff
mov byte [ebx + 5], cl
jmp 0x4cfc50
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1a8], edx
xor ecx, ecx
mov dword [ebp - 0x190], ecx
jmp 0x4cef4a
mov eax, dword [ebp - 0x19c]
push eax
mov edx, dword [ebp - 0x1a8]
add edx, 2
push edx
mov ecx, dword [ebp - 0x1a4]
push ecx
call fcn.0050a1ec
add esp, 0xc
test eax, eax
je 0x4cef58
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
add dword [ebp - 0x1a8], edx
inc dword [ebp - 0x190]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ebp - 0x190]
jg 0x4cef14
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x2c]
cmp ecx, dword [ebp - 0x190]
jle 0x4cefa6
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a8]
xor edx, edx
mov dl, byte [eax]
xor eax, eax
shl edx, 8
mov al, byte [ecx + 1]
or edx, eax
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0xc0]
sar edx, 8
mov byte [ebx + 4], dl
mov cl, byte [ebp - 0xc0]
and cl, 0xff
mov byte [ebx + 5], cl
inc byte [ebx + 3]
jmp 0x4cfc50
mov eax, dword [ebp - 0x84]
push eax
test byte [ebp - 0x4c], 8
setne dl
and edx, 1
push edx
mov ecx, dword [ebp - 0x19c]
push ecx
mov eax, dword [ebp - 0x1a4]
push eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.004ca9c0
add esp, 0x14
mov dword [ebp - 0x190], eax
test eax, eax
jle 0x4ceffc
mov edx, dword [ebp - 0x190]
sar edx, 8
mov byte [ebx + 4], dl
mov cl, byte [ebp - 0x190]
and cl, 0xff
mov byte [ebx + 5], cl
inc byte [ebx + 3]
jmp 0x4cfc50
cmp dword [ebp - 0xdc], 0
je 0x4cf018
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x4d0426
mov edx, dword [ebp - 0x1a4]
cmp byte [edx], 0x52
jne 0x4cf0e7
xor ecx, ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x190], 1
mov eax, dword [ebp - 0x190]
cmp eax, dword [ebp - 0x19c]
jge 0x4cf0b4
mov edx, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x190]
cmp byte [edx + ecx], 0x30
jb 0x4cf06b
mov eax, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x190]
cmp byte [eax + edx], 0x39
jbe 0x4cf079
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x4d0426
mov eax, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x190]
xor ecx, ecx
mov cl, byte [eax + edx]
mov eax, dword [ebp - 0xc0]
add eax, eax
lea eax, [eax + eax*4]
add ecx, eax
sub ecx, 0x30
mov dword [ebp - 0xc0], ecx
inc dword [ebp - 0x190]
mov edx, dword [ebp - 0x190]
cmp edx, dword [ebp - 0x19c]
jl 0x4cf047
cmp dword [ebp - 0xc0], 0
jne 0x4cf0c7
mov dword [ebp - 0xc0], 0xffff
mov byte [ebx + 3], 0x89
mov ecx, dword [ebp - 0xc0]
sar ecx, 8
mov byte [ebx + 4], cl
mov al, byte [ebp - 0xc0]
and al, 0xff
mov byte [ebx + 5], al
jmp 0x4cfc50
cmp dword [ebp - 0x19c], 6
jne 0x4cf11d
push 6
push str.DEFINE
mov edx, dword [ebp - 0x1a4]
push edx
call fcn.0050a1ec
add esp, 0xc
test eax, eax
jne 0x4cf11d
mov byte [ebx + 3], 0x8b
mov dword [ebp - 0xc8], 1
jmp 0x4cfc50
cmp dword [ebp - 0xc0], 0
jle 0x4cf151
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x3c]
cmp eax, dword [ebp - 0xc0]
jl 0x4cf151
mov edx, dword [ebp - 0xc0]
sar edx, 8
mov byte [ebx + 4], dl
mov cl, byte [ebp - 0xc0]
and cl, 0xff
mov byte [ebx + 5], cl
jmp 0x4cfc50
cmp dword [ebp - 0xc0], 0
jne 0x4cf161
mov eax, 0x23
jmp 0x4cf166
mov eax, 0xf
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
jmp 0x4d0426
mov dword [ebp - 0x14], 0x77
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x4c]
inc dword [edi]
jmp 0x4cfc50
inc dword [edi]
mov eax, dword [edi]
cmp byte [eax], 0x29
jne 0x4cf1a0
mov byte [ebx], 0x97
inc ebx
xor edx, edx
mov dword [ebp - 0x78], edx
jmp 0x4d041f
mov dword [ebp - 0x14], 0x78
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x4c]
jmp 0x4cfc50
mov eax, dword [edi]
mov dl, byte [eax + 1]
sub dl, 0x21
je 0x4cf1d8
sub dl, 0x1c
je 0x4cf1c3
jmp 0x4cf1ed
mov dword [ebp - 0x14], 0x79
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x4c]
add dword [edi], 2
jmp 0x4cfc50
mov dword [ebp - 0x14], 0x7a
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x4c]
add dword [edi], 2
jmp 0x4cfc50
mov edx, dword [edi]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx + 1]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 0x10
jne case.0x4cebeb.39
inc dword [edi]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x18
jmp 0x4d0426
mov dword [ebp - 0x14], 0x7b
inc dword [edi]
jmp 0x4cfc50
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x50], 1
mov byte [ebx], 0x70
inc ebx
xor eax, eax
mov dword [ebp - 0x1ac], eax
inc dword [edi]
jmp 0x4cf25f
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edi]
add edx, edx
xor eax, eax
mov al, byte [ecx]
lea edx, [edx + edx*4]
add edx, eax
sub edx, 0x30
mov dword [ebp - 0x1ac], edx
inc dword [edi]
mov edx, dword [edi]
cmp byte [edx], 0x30
jb 0x4cf26d
mov ecx, dword [edi]
cmp byte [ecx], 0x39
jbe 0x4cf241
mov eax, dword [edi]
cmp byte [eax], 0x29
je 0x4cf282
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x27
jmp 0x4d0426
cmp dword [ebp - 0x1ac], 0xff
jle 0x4cf29c
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x26
jmp 0x4d0426
mov al, byte [ebp - 0x1ac]
mov byte [ebx], al
inc ebx
mov edx, dword [ebp + 0x30]
mov ecx, dword [edi]
sub ecx, dword [edx + 0x18]
inc ecx
sar ecx, 8
mov byte [ebx], cl
mov eax, dword [ebp + 0x30]
mov edx, dword [edi]
sub edx, dword [eax + 0x18]
inc edx
and dl, 0xff
mov byte [ebx + 1], dl
mov byte [ebx + 2], 0
mov byte [ebx + 3], 0
add ebx, 4
xor ecx, ecx
mov dword [ebp - 0x78], ecx
jmp 0x4d041f
inc dword [edi]
mov eax, dword [edi]
cmp byte [eax], 0x3d
je 0x4cf2e7
mov edx, dword [edi]
cmp byte [edx], 0x3e
jne 0x4cf309
mov ecx, dword [edi]
cmp byte [ecx], 0x3e
sete al
and eax, 1
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xdc], 0x29
jmp 0x4cf5f5
mov edx, dword [edi]
cmp byte [edx], 0x3c
je case.0x4cebeb.39
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x29
jmp 0x4d0426
mov eax, dword [edi]
cmp byte [eax], 0x3c
jne 0x4cf32c
mov edx, 0x3e
jmp 0x4cf331
mov edx, 0x27
mov dword [ebp - 0xdc], edx
inc dword [edi]
mov eax, dword [edi]
mov dword [ebp - 0x1a4], eax
jmp 0x4cf345
inc dword [edi]
mov ecx, dword [edi]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 0x10
jne 0x4cf343
mov eax, dword [edi]
sub eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x19c], eax
cmp dword [ebp + 0x34], 0
je 0x4cf3e3
mov dl, byte [ebp - 0xdc]
mov ecx, dword [edi]
cmp dl, byte [ecx]
je 0x4cf385
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2a
jmp 0x4d0426
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x2c], 0x2710
jl 0x4cf39f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x31
jmp 0x4d0426
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x19c]
add eax, 3
cmp eax, dword [edx + 0x30]
jle 0x4cf5d4
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x19c]
add ecx, 3
mov dword [eax + 0x30], ecx
cmp dword [ebp - 0x19c], 0x20
jle 0x4cf5d4
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x30
jmp 0x4d0426
xor ecx, ecx
mov dword [ebp - 0x1b0], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1a8], edx
xor ecx, ecx
mov dword [ebp - 0x190], ecx
jmp 0x4cf4e4
mov eax, dword [ebp - 0x19c]
push eax
mov edx, dword [ebp - 0x1a8]
add edx, 2
push edx
mov ecx, dword [ebp - 0x1a4]
push ecx
call fcn.0050a214
add esp, 0xc
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
jne 0x4cf497
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x19c]
cmp byte [eax + edx + 2], 0
jne 0x4cf48d
mov ecx, dword [ebp - 0x1a8]
xor eax, eax
mov edx, dword [ebp - 0x1a8]
mov al, byte [ecx]
xor ecx, ecx
mov cl, byte [edx + 1]
mov edx, dword [ebp + 0x30]
shl eax, 8
or eax, ecx
mov ecx, dword [edx + 0x38]
inc ecx
cmp eax, ecx
je 0x4cf481
test byte [ebp - 0x4a], 8
jne 0x4cf481
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2b
jmp 0x4d0426
mov dword [ebp - 0x1b0], 1
jmp 0x4cf497
mov dword [ebp - 0x1b4], 0xffffffff
cmp dword [ebp - 0x1b4], 0
jge 0x4cf4d2
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x2c]
sub edx, dword [ebp - 0x190]
imul edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 0x1a8]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
add ecx, dword [ebp - 0x1a8]
push ecx
call fcn.00509f14
add esp, 0xc
jmp 0x4cf4f6
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
add dword [ebp - 0x1a8], edx
inc dword [ebp - 0x190]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ebp - 0x190]
jg 0x4cf404
cmp dword [ebp - 0x1b0], 0
jne 0x4cf57e
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x1b8], ecx
xor eax, eax
mov dword [ebp - 0x190], eax
jmp 0x4cf570
mov edx, dword [ebp - 0x1b8]
cmp edx, dword [ebp - 0x1a8]
je 0x4cf558
mov ecx, dword [ebp - 0x1b8]
xor eax, eax
mov edx, dword [ebp - 0x1b8]
mov al, byte [ecx]
xor ecx, ecx
mov cl, byte [edx + 1]
mov edx, dword [ebp + 0x30]
shl eax, 8
or eax, ecx
mov ecx, dword [edx + 0x38]
inc ecx
cmp eax, ecx
jne 0x4cf55e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x41
jmp 0x4d0426
dec dword [ebp - 0x190]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
add dword [ebp - 0x1b8], edx
inc dword [ebp - 0x190]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x2c]
cmp eax, dword [ebp - 0x190]
jg 0x4cf515
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [edx + 0x38]
inc ecx
shr ecx, 8
mov byte [eax], cl
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1a8]
mov cl, byte [edx + 0x38]
inc ecx
and cl, 0xff
mov byte [eax + 1], cl
mov edx, dword [ebp - 0x19c]
push edx
mov ecx, dword [ebp - 0x1a4]
push ecx
mov eax, dword [ebp - 0x1a8]
add eax, 2
push eax
call fcn.00509ecc
mov edx, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x19c]
add esp, 0xc
mov byte [edx + ecx + 2], 0
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x2c]
inc dword [edi]
jmp 0x4cfc28
mov dword [ebp - 0xdc], 0x29
mov dword [ebp - 0xac], 1
inc dword [edi]
mov edx, dword [edi]
mov dword [ebp - 0x1a4], edx
jmp 0x4cf603
inc dword [edi]
mov ecx, dword [edi]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 0x10
jne 0x4cf601
mov eax, dword [edi]
sub eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x19c], eax
cmp dword [ebp + 0x34], 0
je 0x4cf6e1
cmp dword [ebp - 0x19c], 0
jne 0x4cf644
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3e
jmp 0x4d0426
mov cl, byte [ebp - 0xdc]
mov eax, dword [edi]
cmp cl, byte [eax]
je 0x4cf65e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x4d0426
cmp dword [ebp - 0x19c], 0x20
jle 0x4cf675
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x30
jmp 0x4d0426
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x1bc], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [edi]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp - 0x84]
push edx
test byte [ebp - 0x4c], 8
setne cl
and ecx, 1
push ecx
mov eax, dword [ebp - 0x19c]
push eax
mov edx, dword [ebp - 0x1a4]
push edx
mov ecx, dword [ebp + 0x30]
push ecx
call fcn.004ca9c0
add esp, 0x14
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1bc]
mov dword [eax + 0x1c], edx
cmp dword [ebp - 0xc0], 0
jge 0x4cf7c2
xor ecx, ecx
mov dword [ebp - 0xc0], ecx
jmp 0x4cf7c2
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
mov dword [ebp - 0x1a8], edx
xor ecx, ecx
mov dword [ebp - 0x190], ecx
jmp 0x4cf740
mov eax, dword [ebp - 0x19c]
push eax
mov edx, dword [ebp - 0x1a8]
add edx, 2
push edx
mov ecx, dword [ebp - 0x1a4]
push ecx
call fcn.0050a1ec
add esp, 0xc
test eax, eax
jne 0x4cf72e
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x19c]
cmp byte [eax + edx + 2], 0
je 0x4cf74e
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
add dword [ebp - 0x1a8], eax
inc dword [ebp - 0x190]
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x2c]
cmp ecx, dword [ebp - 0x190]
jg 0x4cf6f7
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x2c]
cmp edx, dword [ebp - 0x190]
jle 0x4cf77e
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a8]
xor eax, eax
mov al, byte [ecx]
xor ecx, ecx
shl eax, 8
mov cl, byte [edx + 1]
or eax, ecx
mov dword [ebp - 0xc0], eax
jmp 0x4cf7c2
mov eax, dword [ebp - 0x84]
push eax
test byte [ebp - 0x4c], 8
setne dl
and edx, 1
push edx
mov ecx, dword [ebp - 0x19c]
push ecx
mov eax, dword [ebp - 0x1a4]
push eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.004ca9c0
add esp, 0x14
mov dword [ebp - 0xc0], eax
test eax, eax
jg 0x4cf7c2
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x4d0426
cmp dword [ebp - 0xac], 0
jne 0x4cf902
jmp 0x4d014f
inc dword [edi]
mov dword [ebp - 0xdc], 0x29
mov ecx, dword [edi]
xor eax, eax
mov al, byte [ecx]
mov dword [ebp - 0xc4], eax
cmp eax, 0x2b
jne 0x4cf811
inc dword [edi]
mov edx, dword [edi]
cmp byte [edx], 0x30
jb 0x4cf801
mov ecx, dword [edi]
cmp byte [ecx], 0x39
jbe 0x4cf834
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3f
jmp 0x4d0426
cmp dword [ebp - 0xc4], 0x2d
jne 0x4cf834
mov edx, dword [edi]
cmp byte [edx + 1], 0x30
jb case.0x4cebeb.34
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x39
ja case.0x4cebeb.34
inc dword [edi]
xor eax, eax
mov dword [ebp - 0xc0], eax
jmp 0x4cf85c
mov edx, dword [ebp - 0xc0]
mov ecx, dword [edi]
add edx, edx
xor eax, eax
mov al, byte [ecx]
lea edx, [edx + edx*4]
add edx, eax
sub edx, 0x30
mov dword [ebp - 0xc0], edx
inc dword [edi]
mov edx, dword [edi]
cmp byte [edx], 0x30
jb 0x4cf86a
mov ecx, dword [edi]
cmp byte [ecx], 0x39
jbe 0x4cf83e
mov al, byte [ebp - 0xdc]
mov edx, dword [edi]
cmp al, byte [edx]
je 0x4cf884
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1d
jmp 0x4d0426
cmp dword [ebp - 0xc4], 0x2d
jne 0x4cf8d0
cmp dword [ebp - 0xc0], 0
jne 0x4cf8a4
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x4d0426
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
sub ecx, dword [ebp - 0xc0]
inc ecx
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 0
jg 0x4cf902
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x4d0426
cmp dword [ebp - 0xc4], 0x2b
jne 0x4cf902
cmp dword [ebp - 0xc0], 0
jne 0x4cf8f0
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3a
jmp 0x4d0426
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x38]
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x78], ebx
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp + 0x34], 0
jne 0x4cfa59
mov byte [ebx], 0
cmp dword [ebp - 0xc0], 0
je 0x4cf94a
mov eax, dword [ebp - 0xc0]
push eax
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x14]
push eax
call fcn.004cae04
add esp, 0xc
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
jne 0x4cfa05
mov edx, dword [ebp - 0x84]
push edx
test byte [ebp - 0x4c], 8
setne cl
and ecx, 1
push ecx
mov eax, dword [ebp - 0xc0]
push eax
push 0
mov edx, dword [ebp + 0x30]
push edx
call fcn.004ca9c0
add esp, 0x14
test eax, eax
jge 0x4cf990
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x4d0426
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x14]
add edx, dword [ebp - 0xc0]
mov dword [ebp - 0x1c0], 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 + 0x34]
add eax, 0xffffff9c
cmp eax, dword [ecx + 0x24]
ja 0x4cf9d4
mov eax, dword [ebp + 0x30]
push eax
call fcn.004c9cac
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x4d0426
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
lea eax, [ebx + 1]
sub eax, dword [edx + 0x14]
mov edx, dword [ecx + 0x24]
sar eax, 8
mov byte [edx], al
lea eax, [ebx + 1]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
sub eax, dword [ecx + 0x14]
mov ecx, dword [edx + 0x24]
and al, 0xff
mov byte [ecx + 1], al
mov eax, dword [ebp + 0x30]
add dword [eax + 0x24], 2
jmp 0x4cfa59
mov eax, dword [ebp - 0x1c0]
xor edx, edx
mov ecx, dword [ebp - 0x1c0]
mov dl, byte [eax + 1]
xor eax, eax
shl edx, 8
mov al, byte [ecx + 2]
or edx, eax
jne 0x4cfa59
cmp dword [ebp + 0x2c], 0
jg 0x4cfa59
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebp - 0x84]
push ecx
mov eax, dword [ebp + 0x28]
push eax
push ebx
mov edx, dword [ebp - 0x1c0]
push edx
call fcn.004cb46c
add esp, 0x14
test eax, eax
je 0x4cfa59
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x28
jmp 0x4d0426
mov byte [ebx], 0x6f
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1c0]
sub edx, dword [eax + 0x14]
sar edx, 8
mov byte [ebx + 1], dl
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1c0]
sub eax, dword [ecx + 0x14]
and al, 0xff
mov byte [ebx + 2], al
add ebx, 3
xor edx, edx
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d041f
mov dword [ebp - 0x28], 0xffffffff
jmp 0x4d041f
xor ecx, ecx
lea eax, [ebp - 0x194]
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x1a0], eax
jmp 0x4cfb6d
mov edx, dword [edi]
inc dword [edi]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x69
jg 0x4cfae1
je 0x4cfb18
sub eax, 0x2d
je 0x4cfaf2
sub eax, 0x1d
je 0x4cfb00
sub eax, 0xb
je 0x4cfb44
sub eax, 3
je 0x4cfb52
jmp 0x4cfb5d
sub eax, 0x6d
je 0x4cfb23
sub eax, 6
je 0x4cfb2e
sub eax, 5
je 0x4cfb39
jmp 0x4cfb5d
lea edx, [ebp - 0x198]
mov dword [ebp - 0x1a0], edx
jmp 0x4cfb6d
mov ecx, dword [ebp - 0x1a0]
or dword [ecx], 0x80000
mov eax, dword [ebp + 0x30]
or dword [eax + 0x54], 0x400
jmp 0x4cfb6d
mov edx, dword [ebp - 0x1a0]
or dword [edx], 1
jmp 0x4cfb6d
mov ecx, dword [ebp - 0x1a0]
or dword [ecx], 2
jmp 0x4cfb6d
mov eax, dword [ebp - 0x1a0]
or dword [eax], 4
jmp 0x4cfb6d
mov edx, dword [ebp - 0x1a0]
or dword [edx], 8
jmp 0x4cfb6d
mov ecx, dword [ebp - 0x1a0]
or dword [ecx], 0x200
jmp 0x4cfb6d
mov eax, dword [ebp - 0x1a0]
or dword [eax], 0x40
jmp 0x4cfb6d
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xc
dec dword [edi]
jmp 0x4d0426
mov ecx, dword [edi]
cmp byte [ecx], 0x29
je 0x4cfb7f
mov eax, dword [edi]
cmp byte [eax], 0x3a
jne 0x4cfabc
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
not ecx
and edx, ecx
mov dword [ebp - 0xbc], edx
mov eax, dword [edi]
cmp byte [eax], 0x29
jne 0x4cfc0e
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x14]
add ecx, 3
cmp ebx, ecx
jne 0x4cfbc8
cmp dword [ebp + 0x34], 0
je 0x4cfbba
mov eax, dword [ebp + 0x34]
cmp dword [eax], 6
jne 0x4cfbc8
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xbc]
mov dword [edx + 0x50], ecx
jmp 0x4cfbf6
test byte [ebp - 0xbb], 2
setne al
and eax, 1
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
xor edx, 1
mov dword [ebp - 0x1c], edx
test byte [ebp - 0xbc], 1
je 0x4cfbf1
mov ecx, 1
jmp 0x4cfbf3
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp + 8]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x78], ecx
jmp 0x4d041f
mov dword [ebp - 0x14], 0x7d
inc dword [edi]
jmp 0x4cfc50
test byte [ebp - 0x4b], 0x10
je 0x4cfc28
mov dword [ebp - 0x14], 0x7d
jmp 0x4cfc50
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x38]
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
shr ecx, 8
mov byte [ebx + 3], cl
mov eax, dword [ebp + 0x30]
mov dl, byte [eax + 0x38]
and dl, 0xff
mov byte [ebx + 4], dl
mov dword [ebp - 0xc8], 2
mov dword [ebp - 0x78], ebx
mov cl, byte [ebp - 0x14]
mov byte [ebx], cl
mov dword [ebp - 0x60], ebx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x58]
mov dword [ebp - 0x48], edx
xor edx, edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x54], edx
cmp dword [ebp + 0x34], 0
jne 0x4cfc7f
xor ecx, ecx
jmp 0x4cfc82
lea ecx, [ebp - 0x54]
push ecx
lea ecx, [ebp - 0xd8]
mov eax, dword [ebp + 0x30]
push eax
lea eax, [ebp - 0xd4]
mov edx, dword [ebp + 0x28]
push edx
lea edx, [ebp - 0xcc]
push eax
push edx
push ecx
lea eax, [ebp - 0xd0]
push eax
cmp dword [ebp - 0x14], 0x81
jne 0x4cfcb7
mov edx, 1
jmp 0x4cfcb9
xor edx, edx
add edx, dword [ebp + 0x2c]
push edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xb0]
push ecx
cmp dword [ebp - 0x14], 0x79
je 0x4cfcdb
cmp dword [ebp - 0x14], 0x7a
je 0x4cfcdb
xor eax, eax
jmp 0x4cfce0
mov eax, 1
push eax
lea ecx, [ebp - 0x60]
mov edx, dword [ebp + 0x14]
push edx
push edi
push ecx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.004d0438
add esp, 0x3c
test eax, eax
je 0x4d0426
cmp dword [ebp - 0x14], 0x7b
jne 0x4cfd18
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
cmp ecx, dword [ebp - 0xe4]
ja 0x4cfd18
mov byte [ebx], 0x7c
cmp dword [ebp - 0x14], 0x77
jl 0x4cfd2a
cmp dword [ebp - 0x14], 0x7a
jg 0x4cfd2a
mov eax, dword [ebp + 0x30]
dec dword [eax + 0x4c]
cmp dword [ebp - 0x14], 0x81
jne 0x4cfdd6
cmp dword [ebp + 0x34], 0
jne 0x4cfdd6
mov dword [ebp - 0x1c4], ebx
xor edx, edx
mov dword [ebp - 0x1c8], edx
inc dword [ebp - 0x1c8]
xor eax, eax
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1c4]
mov al, byte [ecx + 1]
xor ecx, ecx
shl eax, 8
mov cl, byte [edx + 2]
or eax, ecx
add dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
cmp byte [eax], 0x72
jne 0x4cfd4f
cmp byte [ebx + 3], 0x8b
jne 0x4cfda7
cmp dword [ebp - 0x1c8], 1
jle 0x4cfd9e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x36
jmp 0x4d0426
mov dword [ebp - 0x14], 0x8b
jmp 0x4cfdd6
cmp dword [ebp - 0x1c8], 2
jle 0x4cfdbe
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1b
jmp 0x4d0426
cmp dword [ebp - 0x1c8], 1
jne 0x4cfdd6
or eax, 0xffffffff
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], eax
mov edx, dword [edi]
cmp byte [edx], 0x29
je 0x4cfdeb
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xe
jmp 0x4d0426
cmp dword [ebp + 0x34], 0
je 0x4cfe3c
mov eax, dword [ebp + 0x34]
mov edx, 0x7fffffeb
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffffa
sub edx, dword [eax]
cmp edx, ecx
jge 0x4cfe13
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4d0426
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp - 0x54]
add edx, 0xfffffffa
inc ebx
add dword [ecx], edx
mov byte [ebx], 0
mov byte [ebx + 1], 3
add ebx, 2
mov byte [ebx], 0x72
inc ebx
mov byte [ebx], 0
mov byte [ebx + 1], 3
add ebx, 2
jmp 0x4d041f
cmp dword [ebp - 0x14], 0x8b
mov ebx, dword [ebp - 0x60]
je 0x4d041f
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x14], 0x7b
jl 0x4cfefe
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cfead
cmp dword [ebp - 0xd8], 0
jl 0x4cfe9d
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x68], 1
jmp 0x4cfea4
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
jmp 0x4cfeda
cmp dword [ebp - 0xd8], 0
jl 0x4cfeda
cmp dword [ebp - 0xd4], 0
jge 0x4cfeda
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], edx
mov ecx, dword [ebp - 0xd8]
or ecx, dword [ebp - 0x48]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0
jl 0x4d041f
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x2c], edx
jmp 0x4d041f
cmp dword [ebp - 0x14], 0x77
jne 0x4d041f
cmp dword [ebp - 0xd4], 0
jl 0x4d041f
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x2c], eax
jmp 0x4d041f
mov edx, dword [edi]
mov dword [ebp - 0x70], edx
push 0
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x38]
lea eax, [ebp - 0xe8]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push eax
push edi
call fcn.004c9dac
add esp, 0x18
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
jne 0x4d0426
test eax, eax
jne 0x4cff6d
mov esi, dword [ebp - 0xe8]
jmp 0x4d028b
cmp eax, 0x1a
jne 0x4cff96
mov eax, dword [edi]
cmp byte [eax + 1], 0x5c
jne 0x4cff8a
mov edx, dword [edi]
cmp byte [edx + 2], 0x45
jne 0x4cff8a
add dword [edi], 2
jmp 0x4d041f
mov dword [ebp - 0x64], 1
jmp 0x4d041f
cmp eax, 0x19
je 0x4d041f
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cffb6
cmp eax, 5
jle 0x4cffb6
cmp eax, 0x17
jge 0x4cffb6
mov dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x20]
cmp eax, 0x1b
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
jne 0x4d00de
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x80], ecx
inc dword [edi]
mov eax, dword [edi]
cmp byte [eax], 0x3c
jne 0x4cfff0
mov edx, 0x3e
jmp 0x4cfff5
mov edx, 0x27
mov dword [ebp - 0xdc], edx
xor eax, eax
mov dword [ebp - 0xc8], eax
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
mov eax, dword [edi]
cmp byte [eax + 1], 0x2b
je 0x4d00ad
mov edx, dword [edi]
cmp byte [edx + 1], 0x2d
je 0x4d00ad
mov dword [ebp - 0x1cc], 1
mov eax, dword [edi]
inc eax
jmp 0x4d0067
mov edx, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [edx + 0xc]
test byte [edx + ecx], 4
jne 0x4d0056
xor ecx, ecx
mov dword [ebp - 0x1cc], ecx
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ecx + 0xc]
test byte [ecx + edx], 0x10
je 0x4d0076
inc eax
cmp byte [eax], 0
je 0x4d0076
mov dl, byte [ebp - 0xdc]
cmp dl, byte [eax]
jne 0x4d003e
mov dl, byte [ebp - 0xdc]
cmp dl, byte [eax]
je 0x4d008e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x39
jmp 0x4d041f
cmp dword [ebp - 0x1cc], 0
je 0x4d009e
inc dword [edi]
jmp 0x4cf7e0
mov dword [ebp - 0xac], 1
jmp 0x4cf5f5
mov eax, dword [edi]
add eax, 2
jmp 0x4d00b5
inc eax
cmp byte [eax], 0x30
jb 0x4d00bf
cmp byte [eax], 0x39
jbe 0x4d00b4
mov dl, byte [ebp - 0xdc]
cmp dl, byte [eax]
je 0x4d00d7
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x39
jmp 0x4d041f
inc dword [edi]
jmp 0x4cf7e0
cmp eax, 0x1c
jne 0x4d013f
mov eax, dword [edi]
cmp byte [eax + 1], 0x3c
je 0x4d0109
mov edx, dword [edi]
cmp byte [edx + 1], 0x27
je 0x4d0109
mov ecx, dword [edi]
cmp byte [ecx + 1], 0x7b
je 0x4d0109
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x45
jmp 0x4d041f
xor edx, edx
mov dword [ebp - 0xac], edx
inc dword [edi]
mov ecx, dword [edi]
cmp byte [ecx], 0x3c
jne 0x4d0121
mov eax, 0x3e
jmp 0x4d0134
mov edx, dword [edi]
cmp byte [edx], 0x27
jne 0x4d012f
mov eax, 0x27
jmp 0x4d0134
mov eax, 0x7d
mov dword [ebp - 0xdc], eax
jmp 0x4cf5f5
test eax, eax
jge 0x4d021d
neg eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d015c
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], ebx
test byte [ebp - 0x4c], 1
je 0x4d0169
mov dl, 0x6e
jmp 0x4d016b
mov dl, 0x6d
mov byte [ebx], dl
inc ebx
mov eax, dword [ebp - 0xc0]
sar eax, 8
mov byte [ebx], al
mov cl, byte [ebp - 0xc0]
and cl, 0xff
mov byte [ebx + 1], cl
add ebx, 2
cmp dword [ebp - 0xc0], 0x20
jge 0x4d01a0
mov ecx, dword [ebp - 0xc0]
mov eax, 1
shl eax, cl
jmp 0x4d01a5
mov eax, 1
mov edx, dword [ebp + 0x30]
or dword [edx + 0x48], eax
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x44]
cmp eax, dword [ebp - 0xc0]
jge 0x4d01c5
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xc0]
mov dword [edx + 0x44], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x1d0], edx
cmp dword [ebp - 0x1d0], 0
je 0x4d041f
mov ecx, dword [ebp - 0x1d0]
movzx eax, word [ecx + 4]
cmp eax, dword [ebp - 0xc0]
jne 0x4d0201
mov edx, dword [ebp - 0x1d0]
mov word [edx + 6], 1
jmp 0x4d041f
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
jne 0x4d01de
jmp 0x4d041f
cmp eax, 0x16
je 0x4d022c
cmp eax, 0xf
je 0x4d022c
cmp eax, 0x10
jne 0x4d023f
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2d
jmp 0x4d0426
cmp eax, 5
je 0x4d0249
cmp eax, 4
jne 0x4d025c
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x40], 0
jne 0x4d025c
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x40], 1
cmp eax, 5
jle 0x4d026a
cmp eax, 0x17
jge 0x4d026a
mov ecx, ebx
jmp 0x4d026c
xor ecx, ecx
mov dword [ebp - 0x78], ecx
cmp dword [ebp - 0x84], 0
jne 0x4d0281
cmp eax, 0xe
jne 0x4d0281
mov dl, 0xd
jmp 0x4d0283
mov edx, eax
mov byte [ebx], dl
inc ebx
jmp 0x4d041f
cmp dword [ebp - 0x84], 0
je 0x4d02b1
cmp esi, 0x7f
jbe 0x4d02b1
lea eax, [ebp - 0xf0]
push eax
push esi
call fcn.004dd3c8
add esp, 8
mov dword [ebp - 0xe0], eax
jmp 0x4d0318
mov ecx, esi
mov byte [ebp - 0xf0], cl
mov dword [ebp - 0xe0], 1
jmp 0x4d0318
mov dword [ebp - 0xe0], 1
mov eax, esi
mov byte [ebp - 0xf0], al
cmp dword [ebp - 0x84], 0
je 0x4d0318
cmp esi, 0xc0
jb 0x4d0318
jmp 0x4d0303
inc dword [edi]
mov edx, dword [edi]
mov eax, dword [ebp - 0xe0]
mov cl, byte [edx]
mov byte [ebp + eax - 0xf0], cl
inc dword [ebp - 0xe0]
mov edx, dword [edi]
xor ecx, ecx
mov cl, byte [edx + 1]
and ecx, 0xc0
cmp ecx, 0x80
je 0x4d02ea
mov dword [ebp - 0x78], ebx
test byte [ebp - 0x4c], 1
je 0x4d0325
mov al, 0x1e
jmp 0x4d0327
mov al, 0x1d
mov byte [ebx], al
inc ebx
xor esi, esi
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x1d4], eax
cmp esi, dword [ebp - 0xe0]
jae 0x4d035a
mov edx, dword [ebp - 0x1d4]
mov cl, byte [edx]
mov byte [ebx], cl
inc ebx
inc esi
inc dword [ebp - 0x1d4]
cmp esi, dword [ebp - 0xe0]
jb 0x4d0340
cmp byte [ebp - 0xf0], 0xd
je 0x4d036c
cmp byte [ebp - 0xf0], 0xa
jne 0x4d0376
mov eax, dword [ebp + 0x30]
or dword [eax + 0x54], 0x800
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d03e4
mov dword [ebp - 0x3c], 0xffffffff
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0xe0], 1
je 0x4d039e
cmp dword [ebp - 0x40], 0
jne 0x4d03d9
xor eax, eax
mov al, byte [ebp - 0xf0]
or eax, dword [ebp - 0x40]
mov dword [ebp - 0x20], eax
xor edx, edx
mov dl, byte [ebp - 0xf0]
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0xe0], 1
je 0x4d041f
xor eax, eax
mov al, byte [ebx - 1]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x58]
mov dword [ebp - 0x2c], ecx
jmp 0x4d041f
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
jmp 0x4d041f
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], edx
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 - 0xe0], 1
je 0x4d040b
cmp dword [ebp - 0x40], 0
jne 0x4d041f
xor ecx, ecx
mov cl, byte [ebx - 1]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x58]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], edx
inc dword [edi]
jmp 0x4cc4b7
mov ecx, dword [ebp + 0x10]
mov eax, dword [edi]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret