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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd98
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 ebx, [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 edi, dword [edx]
xor edx, edx
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 edx, edx
mov eax, dword [ecx]
xor ecx, ecx
mov dword [ebx], 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 0x4ced82
mov edx, 1
jmp 0x4ced84
xor edx, edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebx]
movzx esi, byte [eax]
test esi, esi
jne 0x4ceda5
cmp dword [ebp - 0x74], 0
je 0x4ceda5
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 0x4cee3f
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 0x4cedd0
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x34
jmp 0x4d339f
cmp edi, dword [ebp - 0x58]
jae 0x4cedd8
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 0x4cedf9
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4d339f
mov edx, edi
mov ecx, dword [ebp + 0x34]
sub edx, dword [ebp - 0x58]
add dword [ecx], edx
cmp dword [ebp - 0x78], 0
je 0x4cee37
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x5c]
jbe 0x4cee3a
mov edx, edi
sub edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x78]
push ecx
mov eax, dword [ebp - 0x5c]
push eax
call fcn.004cbc2c
mov edx, dword [ebp - 0x78]
add esp, 0xc
sub edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x78], ecx
sub edi, edx
jmp 0x4cee3a
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x58], edi
jmp 0x4cee64
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 0x4cee64
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x4d339f
cmp dword [ebp - 0x64], 0
je 0x4ceed1
test esi, esi
je 0x4ceed1
cmp esi, 0x5c
jne 0x4cee89
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x45
jne 0x4cee89
xor eax, eax
mov dword [ebp - 0x64], eax
inc dword [ebx]
jmp 0x4d3398
cmp dword [ebp - 0x7c], 0
je 0x4ceead
cmp dword [ebp + 0x34], 0
jne 0x4ceea8
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebx]
push ecx
mov eax, dword [ebp - 0x7c]
push eax
call fcn.004ce8b4
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x7c], edx
test byte [ebp - 0x4b], 0x40
je 0x4d3080
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp + 0x30]
push ecx
mov eax, dword [ebx]
push eax
push edi
call fcn.004ce87c
add esp, 0xc
mov edi, eax
jmp 0x4d3080
test byte [ebp - 0x4c], 8
je 0x4cefdb
jmp 0x4ceee4
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 0x4ceedd
cmp esi, 0x23
jne 0x4cefdb
inc dword [ebx]
jmp 0x4cefc6
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x7c], 0
je 0x4cef4b
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebx]
jbe 0x4cef40
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
mov ecx, dword [ebx]
push ecx
call fcn.004e66e4
add esp, 0x14
test eax, eax
jne 0x4cef44
xor eax, eax
jmp 0x4cef92
mov eax, 1
jmp 0x4cef92
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x1c]
sub ecx, dword [eax + 0x80]
cmp ecx, dword [ebx]
jb 0x4cef89
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
mov cl, byte [edx]
cmp cl, byte [eax + 0x84]
jne 0x4cef89
mov edx, dword [ebp + 0x30]
cmp dword [edx + 0x80], 1
je 0x4cef8d
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
mov al, byte [ecx + 1]
cmp al, byte [edx + 0x85]
je 0x4cef8d
xor eax, eax
jmp 0x4cef92
mov eax, 1
test eax, eax
je 0x4cefa3
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x80]
add dword [ebx], ecx
jmp 0x4cefd1
inc dword [ebx]
cmp dword [ebp - 0x84], 0
je 0x4cefc6
jmp 0x4cefb2
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x4cefb0
mov ecx, dword [ebx]
cmp byte [ecx], 0
jne 0x4cef00
mov eax, dword [ebx]
movzx esi, byte [eax]
jmp 0x4ceee4
cmp esi, 0x2a
je 0x4cf001
cmp esi, 0x2b
je 0x4cf001
cmp esi, 0x3f
je 0x4cf001
cmp esi, 0x7b
jne 0x4ceffd
mov eax, dword [ebx]
inc eax
push eax
call fcn.004cbd24
pop ecx
test eax, eax
jne 0x4cf001
xor edx, edx
jmp 0x4cf006
mov edx, 1
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0
jne 0x4cf04a
cmp dword [ebp - 0x7c], 0
je 0x4cf04a
cmp dword [ebp - 0x74], 0
jne 0x4cf04a
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x50], 0xffffffff
test ecx, ecx
jg 0x4cf04a
cmp dword [ebp + 0x34], 0
jne 0x4cf045
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebx]
push edx
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.004ce8b4
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x7c], eax
test byte [ebp - 0x4b], 0x40
je 0x4cf074
cmp dword [ebp - 0xa8], 0
jne 0x4cf074
cmp dword [ebp - 0x74], 0
jne 0x4cf074
mov dword [ebp - 0x7c], edi
mov edx, dword [ebp + 0x30]
push edx
mov ecx, dword [ebx]
push ecx
push edi
call fcn.004ce87c
add esp, 0xc
mov edi, eax
mov eax, esi
cmp eax, 0x3f
jg 0x4cf0c2
je 0x4d036a
cmp eax, 0x29
jg 0x4cf0a4
je 0x4cf0fa
sub eax, 1
jb 0x4cf0fa
sub eax, 0x23
je 0x4cf189
sub eax, 4
je 0x4d1392
jmp 0x4d3080
sub eax, 0x2a
je 0x4d034c
dec eax
je 0x4d035a
sub eax, 3
je 0x4cf1a2
jmp 0x4d3080
cmp eax, 0x5e
jg 0x4cf0e9
je 0x4cf15f
sub eax, 0x5b
je 0x4cf1fe
dec eax
je 0x4d2cb0
dec eax
je 0x4cf1de
jmp 0x4d3080
sub eax, 0x7b
je 0x4d0317
dec eax
je 0x4cf0fa
jmp 0x4d3080
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x20]
mov dword [edx], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x2c]
mov dword [edx], ecx
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebx]
mov dword [edx], ecx
cmp dword [ebp + 0x34], 0
je 0x4cf155
mov eax, dword [ebp + 0x34]
mov ecx, edi
mov edx, 0x7fffffeb
sub edx, dword [eax]
sub ecx, dword [ebp - 0x58]
cmp edx, ecx
jge 0x4cf14d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4d339f
sub edi, dword [ebp - 0x58]
mov edx, dword [ebp + 0x34]
add dword [edx], edi
mov eax, 1
jmp 0x4d33a8
xor edx, edx
mov dword [ebp - 0x78], edx
test byte [ebp - 0x4c], 2
je 0x4cf180
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cf177
mov dword [ebp - 0x28], 0xffffffff
mov byte [edi], 0x1c
inc edi
jmp 0x4d3398
mov byte [edi], 0x1b
inc edi
jmp 0x4d3398
xor ecx, ecx
mov dword [ebp - 0x78], ecx
test byte [ebp - 0x4c], 2
je 0x4cf198
mov al, 0x1a
jmp 0x4cf19a
mov al, 0x19
mov byte [edi], al
inc edi
jmp 0x4d3398
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cf1af
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], edi
test byte [ebp - 0x4c], 4
je 0x4cf1d4
mov cl, 0xd
jmp 0x4cf1d6
mov cl, 0xc
mov byte [edi], cl
inc edi
jmp 0x4d3398
mov eax, dword [ebp + 0x30]
test byte [eax + 0x63], 2
je 0x4d3080
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x40
jmp 0x4d339f
push 6
push 0x5ba239
mov eax, dword [ebx]
inc eax
push eax
call fcn.004f3360
add esp, 0xc
test eax, eax
jne 0x4cf228
mov edx, dword [ebx]
add edx, 7
mov dword [ebp - 0x74], edx
mov dword [ebx], 0x5b92f6
jmp 0x4d3398
push 6
push str._:_:__
mov ecx, dword [ebx]
inc ecx
push ecx
call fcn.004f3360
add esp, 0xc
test eax, eax
jne 0x4cf252
mov eax, dword [ebx]
add eax, 7
mov dword [ebp - 0x74], eax
mov dword [ebx], 0x5b92ff
jmp 0x4d3398
mov dword [ebp - 0x78], edi
mov edx, dword [ebx]
cmp byte [edx + 1], 0x3a
je 0x4cf26d
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x2e
je 0x4cf26d
mov eax, dword [ebx]
cmp byte [eax + 1], 0x3d
jne 0x4cf29e
lea edx, [ebp - 0x70]
push edx
mov ecx, dword [ebx]
push ecx
call fcn.004ce71c
add esp, 8
test eax, eax
je 0x4cf29e
mov eax, dword [ebx]
cmp byte [eax + 1], 0x3a
jne 0x4cf28f
mov edx, 0xd
jmp 0x4cf294
mov edx, 0x1f
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x4d339f
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
inc dword [ebx]
mov eax, dword [ebx]
movzx esi, byte [eax]
cmp esi, 0x5c
jne 0x4cf2da
mov eax, dword [ebx]
cmp byte [eax + 1], 0x45
jne 0x4cf2be
inc dword [ebx]
jmp 0x4cf2a6
push 3
push 0x5ba247
mov edx, dword [ebx]
inc edx
push edx
call fcn.004f3360
add esp, 0xc
test eax, eax
jne 0x4cf2f4
add dword [ebx], 3
jmp 0x4cf2a6
cmp dword [ebp - 0x9c], 0
jne 0x4cf2f4
cmp esi, 0x5e
jne 0x4cf2f4
mov dword [ebp - 0x9c], 1
jmp 0x4cf2a6
cmp esi, 0x5d
jne 0x4cf332
mov ecx, dword [ebp + 0x30]
test byte [ecx + 0x63], 2
je 0x4cf332
cmp dword [ebp - 0x9c], 0
je 0x4cf30f
mov al, 0xd
jmp 0x4cf311
mov al, 0x9d
mov byte [edi], al
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4cf321
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 0x4d3398
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 - 0x240]
push eax
call fcn.004f315c
xor edx, edx
lea ecx, [edi + 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 0x4d01b8
cmp dword [ebp - 0x84], 0
je 0x4cf4db
cmp esi, 0xc0
jb 0x4cf4db
mov edx, dword [ebx]
movzx esi, byte [edx]
cmp esi, 0xc0
jb 0x4cf4db
test esi, 0x20
jne 0x4cf3cd
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 0x4cf4db
test esi, 0x10
jne 0x4cf3fe
mov ecx, dword [ebx]
xor eax, eax
mov edx, dword [ebx]
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 [ebx], 2
jmp 0x4cf4db
test esi, 8
jne 0x4cf43e
mov eax, dword [ebx]
xor edx, edx
and esi, 7
mov ecx, dword [ebx]
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 [ebx]
shl eax, 6
or esi, eax
mov cl, byte [edx + 3]
and ecx, 0x3f
or esi, ecx
add dword [ebx], 3
jmp 0x4cf4db
test esi, 4
jne 0x4cf48a
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebx]
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 [ebx]
shl eax, 0xc
or esi, eax
mov eax, dword [ebx]
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 [ebx], 4
jmp 0x4cf4db
mov ecx, dword [ebx]
xor eax, eax
and esi, 1
mov edx, dword [ebx]
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 [ebx]
shl ecx, 0x12
or esi, ecx
mov dl, byte [eax + 3]
and edx, 0x3f
mov ecx, dword [ebx]
shl edx, 0xc
xor eax, eax
or esi, edx
mov edx, dword [ebx]
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 [ebx], 5
cmp dword [ebp + 0x34], 0
je 0x4cf516
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x98]
jbe 0x4cf516
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 0x4cf542
cmp esi, 0x5c
jne 0x4cfca1
mov edx, dword [ebx]
cmp byte [edx + 1], 0x45
jne 0x4cfca1
xor ecx, ecx
mov dword [ebp - 0x64], ecx
inc dword [ebx]
jmp 0x4d017f
cmp esi, 0x5b
jne 0x4cf8a7
mov eax, dword [ebx]
cmp byte [eax + 1], 0x3a
je 0x4cf567
mov edx, dword [ebx]
cmp byte [edx + 1], 0x2e
je 0x4cf567
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x3d
jne 0x4cf8a7
lea eax, [ebp - 0x70]
push eax
mov edx, dword [ebx]
push edx
call fcn.004ce71c
add esp, 8
test eax, eax
je 0x4cf8a7
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 [ebx]
cmp byte [ecx + 1], 0x3a
je 0x4cf5a8
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1f
jmp 0x4d339f
add dword [ebx], 2
mov edx, dword [ebx]
cmp byte [edx], 0x5e
jne 0x4cf5c8
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0xa0], 1
inc dword [ebx]
mov ecx, dword [ebp - 0x70]
sub ecx, dword [ebx]
push ecx
mov eax, dword [ebx]
push eax
call fcn.004ce78c
add esp, 8
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jge 0x4cf5f6
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1e
jmp 0x4d339f
test byte [ebp - 0x4c], 1
je 0x4cf60d
cmp dword [ebp - 0xfc], 2
jg 0x4cf60d
xor ecx, ecx
mov dword [ebp - 0xfc], ecx
test byte [ebp - 0x49], 0x20
je 0x4cf6fc
xor eax, eax
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0xf8], 0
je 0x4cf62f
mov edx, 0xe
jmp 0x4cf631
xor edx, edx
add edx, dword [ebp - 0xfc]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
cmp dword [eax*4 + 0x5b8fa0], 0
je 0x4cf66e
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x110]
mov edx, dword [eax*4 + 0x5b8fa0]
dec edx
mov dword [ebx], edx
jmp 0x4d017f
mov ecx, dword [ebp - 0xfc]
sub ecx, 8
je 0x4cf681
dec ecx
je 0x4cf68b
dec ecx
je 0x4cf69e
jmp 0x4cf6fc
mov dword [ebp - 0x10c], 0xb
cmp dword [ebp - 0x10c], 0
jne 0x4cf69e
mov dword [ebp - 0x10c], 0xc
cmp dword [ebp - 0x10c], 0
jne 0x4cf6b1
mov dword [ebp - 0x10c], 0xd
cmp dword [ebp - 0xf8], 0
je 0x4cf6be
mov al, 4
jmp 0x4cf6c0
mov al, 3
mov edx, dword [ebp - 0x90]
mov byte [edx], al
inc dword [ebp - 0x90]
mov cl, byte [ebp - 0x10c]
mov eax, dword [ebp - 0x90]
mov byte [eax], cl
inc dword [ebp - 0x90]
mov edx, dword [ebp - 0x90]
mov byte [edx], 0
inc dword [ebp - 0x90]
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebx], ecx
jmp 0x4d017f
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 + 0x5b8ee0]
add ecx, dword [ebp - 0x108]
push ecx
lea eax, [ebp - 0x260]
push eax
call fcn.004f30c8
add esp, 0xc
mov edx, dword [ebp - 0xfc]
mov ecx, dword [edx*4 + 0x5b8ee4]
mov dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0xfc]
mov edx, dword [eax*4 + 0x5b8ee8]
mov dword [ebp - 0x104], edx
cmp dword [ebp - 0x100], 0
jl 0x4cf7d2
cmp dword [ebp - 0x104], 0
jl 0x4cf79d
xor esi, esi
lea eax, [ebp - 0x260]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x100]
add edx, esi
mov ecx, dword [ebp - 0x108]
mov al, byte [ecx + edx]
mov edx, dword [ebp - 0x21c]
or byte [edx], al
inc esi
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cf776
jmp 0x4cf7d2
xor esi, esi
lea eax, [ebp - 0x260]
mov dword [ebp - 0x21c], 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 - 0x21c]
not al
and byte [edx], al
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cf7ab
cmp dword [ebp - 0x104], 0
jge 0x4cf7e1
neg dword [ebp - 0x104]
cmp dword [ebp - 0x104], 1
jne 0x4cf7f3
and byte [ebp - 0x25f], 0xc3
jmp 0x4cf803
cmp dword [ebp - 0x104], 2
jne 0x4cf803
and byte [ebp - 0x255], 0x7f
cmp dword [ebp - 0xf8], 0
je 0x4cf84c
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x220], eax
lea edx, [ebp - 0x260]
mov dword [ebp - 0x21c], edx
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x220]
inc esi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x220]
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cf826
jmp 0x4cf888
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x21c], eax
lea edx, [ebp - 0x260]
mov dword [ebp - 0x220], edx
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21c]
inc esi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x21c]
inc dword [ebp - 0x220]
cmp esi, 0x20
jb 0x4cf866
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebx], ecx
mov dword [ebp - 0xb4], 1
mov dword [ebp - 0xb8], 2
jmp 0x4d017f
cmp esi, 0x5c
jne 0x4cfca1
push 1
mov eax, dword [ebp - 0x4c]
push eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
lea edx, [ebp - 0xe8]
push ecx
mov eax, dword [ebp + 0x14]
push eax
push edx
push ebx
call fcn.004cbd9c
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d339f
test esi, esi
jne 0x4cf8ee
mov esi, dword [ebp - 0xe8]
jmp 0x4cfca1
cmp esi, 5
jne 0x4cf8fd
mov esi, 8
jmp 0x4cfca1
cmp esi, 0xc
jne 0x4cf915
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x47
jmp 0x4d339f
cmp esi, 0x1a
jne 0x4cf943
mov edx, dword [ebx]
cmp byte [edx + 1], 0x5c
jne 0x4cf932
mov ecx, dword [ebx]
cmp byte [ecx + 2], 0x45
jne 0x4cf932
add dword [ebx], 2
jmp 0x4d017f
mov dword [ebp - 0x64], 1
jmp 0x4d017f
cmp esi, 0x19
je 0x4d017f
mov eax, dword [ebp + 0x30]
mov ecx, esi
add ecx, 0xfffffffa
mov edx, dword [eax + 8]
mov dword [ebp - 0x114], edx
inc dword [ebp - 0xb4]
add dword [ebp - 0xb8], 2
cmp ecx, 0x1c
ja case.0x4cf979.6
mov cl, byte [ecx + 0x4cf980]
jmp dword [ecx*4 + 0x4cf99d]
mov eax, dword [ebx]
mov dword [ebp - 0x74], eax
mov edx, dword [esi*4 + 0x5b8f14]
dec edx
mov dword [ebx], edx
dec dword [ebp - 0xb4]
jmp 0x4d017f
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x21c]
mov cl, byte [edx + esi + 0x40]
inc esi
or byte [eax], cl
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cf9f9
jmp 0x4d017f
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x21c]
mov cl, byte [edx + esi + 0x40]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cfa34
jmp 0x4d017f
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x21c]
mov cl, byte [edx + esi + 0xa0]
inc esi
or byte [eax], cl
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cfa67
jmp 0x4d017f
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x21c]
mov cl, byte [edx + esi + 0xa0]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cfaa5
jmp 0x4d017f
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x21c]
mov cl, byte [edx + esi]
inc esi
or byte [eax], cl
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cfadb
jmp 0x4d017f
mov dword [ebp - 0xa0], 1
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x21c]
mov cl, byte [edx + esi]
inc esi
not cl
or byte [eax], cl
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4cfb15
jmp 0x4d017f
push 0xffffffffffffffff
push 0x5ba308
mov edx, dword [ebp + 0x30]
lea eax, [ebp - 0x90]
push edx
lea edx, [ebp - 0x240]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.004cebd8
add esp, 0x18
jmp 0x4d017f
push 0x5ba308
lea edx, [ebp - 0x90]
mov ecx, dword [ebp + 0x30]
push ecx
lea ecx, [ebp - 0x240]
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
call fcn.004cec38
add esp, 0x14
jmp 0x4d017f
push 0xffffffffffffffff
push 0x5ba358
mov eax, dword [ebp + 0x30]
lea ecx, [ebp - 0x90]
push eax
lea eax, [ebp - 0x240]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.004cebd8
add esp, 0x18
jmp 0x4d017f
push 0x5ba358
lea eax, [ebp - 0x90]
mov edx, dword [ebp + 0x30]
push edx
lea edx, [ebp - 0x240]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.004cec38
add esp, 0x14
jmp 0x4d017f
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x120], eax
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x120]
push edx
push ecx
lea eax, [ebp - 0x11c]
lea edx, [ebp - 0x118]
push eax
push edx
push ebx
call fcn.004cc5bc
add esp, 0x14
test eax, eax
je 0x4d339f
cmp esi, 0x10
sete cl
and ecx, 1
cmp ecx, dword [ebp - 0x118]
je 0x4cfc2c
mov al, 3
jmp 0x4cfc2e
mov al, 4
mov edx, dword [ebp - 0x90]
mov byte [edx], al
inc dword [ebp - 0x90]
mov cl, byte [ebp - 0x11c]
mov eax, dword [ebp - 0x90]
mov byte [eax], cl
inc dword [ebp - 0x90]
mov dl, byte [ebp - 0x120]
mov ecx, dword [ebp - 0x90]
mov byte [ecx], dl
inc dword [ebp - 0x90]
dec dword [ebp - 0xb4]
jmp 0x4d017f
test byte [ebp - 0x4c], 0x40
je 0x4cfc83
mov eax, dword [ebp + 0x14]
mov dword [eax], 7
jmp 0x4d339f
dec dword [ebp - 0xb4]
sub dword [ebp - 0xb8], 2
mov edx, dword [ebx]
movzx esi, byte [edx]
jmp 0x4cfca1
xor eax, eax
mov dword [ebp - 0x64], eax
add dword [ebx], 2
mov edx, dword [ebx]
cmp byte [edx + 1], 0x5c
jne 0x4cfcb1
mov ecx, dword [ebx]
cmp byte [ecx + 2], 0x45
je 0x4cfc99
mov eax, dword [ebx]
cmp esi, 0xd
mov dword [ebp - 0xf4], eax
je 0x4cfcc3
cmp esi, 0xa
jne 0x4cfccd
mov edx, dword [ebp + 0x30]
or dword [edx + 0x64], 0x800
cmp dword [ebp - 0x64], 0
jne 0x4d001d
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x2d
jne 0x4d001d
add dword [ebx], 2
jmp 0x4cfceb
add dword [ebx], 2
mov eax, dword [ebx]
cmp byte [eax], 0x5c
jne 0x4cfd1c
mov edx, dword [ebx]
cmp byte [edx + 1], 0x45
je 0x4cfce8
jmp 0x4cfd1c
add dword [ebx], 2
mov ecx, dword [ebx]
cmp byte [ecx], 0x5c
jne 0x4cfd13
mov eax, dword [ebx]
cmp byte [eax + 1], 0x45
jne 0x4cfd13
add dword [ebx], 2
jmp 0x4cfd1c
mov dword [ebp - 0x64], 1
jmp 0x4cfd2b
mov edx, dword [ebx]
cmp byte [edx], 0x5c
jne 0x4cfd2b
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x51
je 0x4cfcfc
mov eax, dword [ebx]
cmp byte [eax], 0
je 0x4cfd3f
cmp dword [ebp - 0x64], 0
jne 0x4cfd4c
mov edx, dword [ebx]
cmp byte [edx], 0x5d
jne 0x4cfd4c
mov ecx, dword [ebp - 0xf4]
mov dword [ebx], ecx
jmp 0x4d001d
cmp dword [ebp - 0x84], 0
je 0x4cfee6
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0x124], edx
cmp dword [ebp - 0x124], 0xc0
jb 0x4cfef2
test byte [ebp - 0x124], 0x20
jne 0x4cfda3
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x124]
and ecx, 0x1f
xor edx, edx
mov dl, byte [eax + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
mov dword [ebp - 0x124], ecx
inc dword [ebx]
jmp 0x4cfef2
test byte [ebp - 0x124], 0x10
jne 0x4cfde1
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x124]
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 - 0x124], ecx
add dword [ebx], 2
jmp 0x4cfef2
test byte [ebp - 0x124], 8
jne 0x4cfe2e
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x124]
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 - 0x124], ecx
add dword [ebx], 3
jmp 0x4cfef2
test byte [ebp - 0x124], 4
jne 0x4cfe87
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x124]
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 - 0x124], ecx
add dword [ebx], 4
jmp 0x4cfef2
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebp - 0x124]
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 - 0x124], ecx
add dword [ebx], 5
jmp 0x4cfef2
mov ecx, dword [ebx]
xor eax, eax
mov al, byte [ecx]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x64], 0
jne 0x4cffa8
cmp dword [ebp - 0x124], 0x5c
jne 0x4cff66
push 1
mov edx, dword [ebp - 0x4c]
push edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
lea ecx, [ebp - 0x124]
push eax
mov edx, dword [ebp + 0x14]
push edx
push ecx
push ebx
call fcn.004cbd9c
add esp, 0x18
mov dword [ebp - 0x128], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d339f
cmp dword [ebp - 0x128], 0
je 0x4cffa8
cmp dword [ebp - 0x128], 5
jne 0x4cff56
mov dword [ebp - 0x124], 8
jmp 0x4cffa8
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x53
jmp 0x4d339f
cmp dword [ebp - 0x124], 0x5b
jne 0x4cffa8
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x3a
je 0x4cff87
mov eax, dword [ebx]
cmp byte [eax + 1], 0x2e
je 0x4cff87
mov edx, dword [ebx]
cmp byte [edx + 1], 0x3d
jne 0x4cffa8
lea ecx, [ebp - 0x70]
push ecx
mov eax, dword [ebx]
push eax
call fcn.004ce71c
add esp, 8
test eax, eax
je 0x4cffa8
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x53
jmp 0x4d339f
cmp esi, dword [ebp - 0x124]
jbe 0x4cffbe
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x4d339f
cmp esi, dword [ebp - 0x124]
je 0x4d001d
mov dword [ebp - 0xb8], 2
cmp dword [ebp - 0x124], 0xd
je 0x4cffe2
cmp dword [ebp - 0x124], 0xa
jne 0x4cffec
mov eax, dword [ebp + 0x30]
or dword [eax + 0x64], 0x800
mov edx, dword [ebp - 0x124]
push edx
push esi
mov ecx, dword [ebp + 0x30]
lea edx, [ebp - 0x90]
push ecx
lea ecx, [ebp - 0x240]
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
call fcn.004cea04
add esp, 0x18
add dword [ebp - 0xb4], eax
jmp 0x4d017f
cmp dword [ebp - 0xb8], 2
jge 0x4d002c
inc dword [ebp - 0xb8]
cmp dword [ebp - 0xb8], 1
jne 0x4d0159
mov eax, dword [ebx]
cmp byte [eax + 1], 0x5d
jne 0x4d0159
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 0x4d0119
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d006d
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 0x4d00e1
test byte [ebp - 0x4c], 1
je 0x4d00e1
mov ecx, esi
test ecx, ecx
jns 0x4d0091
add ecx, 0x7f
sar ecx, 7
xor eax, eax
mov al, byte [ecx + 0x5c8cac]
shl eax, 7
mov edx, esi
and edx, 0x8000007f
jns 0x4d00ae
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx ecx, word [eax*2 + 0x5bc1ac]
xor eax, eax
mov al, byte [ecx*8 + 0x5bae17]
mov dword [ebp - 0x12c], eax
test eax, eax
je 0x4d00e1
mov byte [edi], 0xf
inc edi
mov byte [edi], 9
inc edi
mov dl, byte [ebp - 0x12c]
mov byte [edi], dl
inc edi
jmp 0x4d3398
test byte [ebp - 0x4c], 1
je 0x4d00eb
mov cl, 0x20
jmp 0x4d00ed
mov cl, 0x1f
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x84], 0
je 0x4d010f
cmp esi, 0x7f
jbe 0x4d010f
push edi
push esi
call fcn.004e6b00
add esp, 8
add edi, eax
jmp 0x4d3398
mov eax, esi
mov byte [edi], al
inc edi
jmp 0x4d3398
cmp dword [ebp - 0x84], 0
je 0x4d0142
cmp esi, 0x7f
jbe 0x4d0142
lea edx, [ebp - 0xf0]
push edx
push esi
call fcn.004e6b00
add esp, 8
mov dword [ebp - 0xe0], eax
jmp 0x4d30d3
mov eax, esi
mov byte [ebp - 0xf0], al
mov dword [ebp - 0xe0], 1
jmp 0x4d30d3
push esi
push esi
mov edx, dword [ebp + 0x30]
lea eax, [ebp - 0x90]
push edx
lea edx, [ebp - 0x240]
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.004cea04
add esp, 0x18
add dword [ebp - 0xb4], eax
inc dword [ebx]
mov ecx, dword [ebx]
movzx esi, byte [ecx]
test esi, esi
jne 0x4d01a5
cmp dword [ebp - 0x74], 0
je 0x4d01b8
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 0x4d01b8
cmp esi, 0x5d
jne 0x4cf382
cmp dword [ebp - 0x64], 0
jne 0x4cf382
test esi, esi
jne 0x4d01ca
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x4d339f
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x98]
jbe 0x4d01e2
mov dword [ebp - 0x94], 1
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d01ef
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 0x4d02b5
cmp dword [ebp - 0xa0], 0
je 0x4d0227
test byte [ebp - 0x49], 0x20
je 0x4d02b5
mov eax, dword [ebp - 0x90]
mov byte [eax], 0
inc dword [ebp - 0x90]
mov byte [edi], 0x70
inc edi
add edi, 2
cmp dword [ebp - 0x9c], 0
je 0x4d024a
mov dl, 1
jmp 0x4d024c
xor edx, edx
mov byte [edi], dl
cmp dword [ebp - 0xb4], 0
jle 0x4d028e
or byte [edi], 2
inc edi
mov eax, dword [ebp - 0x90]
sub eax, edi
lea ecx, [edi + 0x20]
push eax
push edi
push ecx
call fcn.004cbc2c
add esp, 0xc
lea eax, [ebp - 0x240]
push 0x20
push eax
push edi
call fcn.004f30c8
add esp, 0xc
mov edi, dword [ebp - 0x90]
add edi, 0x20
jmp 0x4d0294
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 eax, dword [ebp - 0x78]
and cl, 0xff
mov byte [eax + 2], cl
jmp 0x4d3398
mov edx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0xa0]
jne 0x4d02c7
mov cl, 0x6e
jmp 0x4d02c9
mov cl, 0x6f
mov byte [edi], cl
inc edi
cmp dword [ebp + 0x34], 0
jne 0x4d030f
cmp dword [ebp - 0x9c], 0
je 0x4d02fd
xor esi, esi
lea eax, [ebp - 0x240]
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x21c]
not byte [edx]
inc esi
inc dword [ebp - 0x21c]
cmp esi, 0x20
jb 0x4d02e9
push 0x20
lea ecx, [ebp - 0x240]
push ecx
push edi
call fcn.004f30c8
add esp, 0xc
add edi, 0x20
jmp 0x4d3398
cmp dword [ebp - 0xa8], 0
je 0x4d3080
mov eax, dword [ebp + 0x14]
push eax
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0xc]
push ecx
mov eax, dword [ebx]
inc eax
push eax
call fcn.004cc6d8
add esp, 0x10
mov dword [ebx], eax
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
jne 0x4d339f
jmp 0x4d0376
xor ecx, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], 0xffffffff
jmp 0x4d0376
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0xffffffff
jmp 0x4d0376
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x78], 0
jne 0x4d038a
mov edx, dword [ebp + 0x14]
mov dword [edx], 9
jmp 0x4d339f
cmp dword [ebp - 0xc], 0
jne 0x4d03a8
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 0x4d03b4
xor edx, edx
jmp 0x4d03b9
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
test byte [ebp - 0x4c], 8
je 0x4d04ca
mov esi, dword [ebx]
inc esi
jmp 0x4d03df
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 0x4d03de
cmp byte [esi], 0x23
jne 0x4d04c7
inc esi
jmp 0x4d04b9
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x7c], 0
je 0x4d0445
mov edx, dword [ebp + 0x30]
cmp esi, dword [edx + 0x1c]
jae 0x4d043a
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.004e66e4
add esp, 0x14
test eax, eax
jne 0x4d043e
xor ecx, ecx
jmp 0x4d0488
mov ecx, 1
jmp 0x4d0488
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x1c]
sub edx, dword [ecx + 0x80]
cmp esi, edx
ja 0x4d047f
mov al, byte [esi]
mov edx, dword [ebp + 0x30]
cmp al, byte [edx + 0x84]
jne 0x4d047f
mov ecx, dword [ebp + 0x30]
cmp dword [ecx + 0x80], 1
je 0x4d0483
mov al, byte [esi + 1]
mov edx, dword [ebp + 0x30]
cmp al, byte [edx + 0x85]
je 0x4d0483
xor ecx, ecx
jmp 0x4d0488
mov ecx, 1
test ecx, ecx
je 0x4d049a
mov eax, dword [ebp + 0x30]
add esi, dword [eax + 0x80]
jmp 0x4d03df
inc esi
cmp dword [ebp - 0x84], 0
je 0x4d04b9
jmp 0x4d04a7
inc esi
xor edx, edx
mov dl, byte [esi]
and edx, 0xc0
cmp edx, 0x80
je 0x4d04a6
cmp byte [esi], 0
jne 0x4d03fe
jmp 0x4d03df
dec esi
mov dword [ebx], esi
mov eax, dword [ebx]
cmp byte [eax + 1], 0x2b
jne 0x4d04e5
xor edx, edx
mov dword [ebp - 4], edx
mov dword [ebp - 0xa4], 1
inc dword [ebx]
jmp 0x4d04fd
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x3f
jne 0x4d04f7
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
inc dword [ebx]
jmp 0x4d04fd
mov edx, dword [ebp - 0x18]
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x75
jne 0x4d05c5
push 3
mov eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
add edx, 3
push edx
call fcn.004cbc2c
mov ecx, dword [ebp - 0x78]
add esp, 0xc
add edi, 6
mov byte [ecx], 0x81
mov eax, dword [ebp - 0x78]
mov byte [eax + 1], 0
mov edx, dword [ebp - 0x78]
mov byte [edx + 2], 6
mov ecx, dword [ebp - 0x78]
mov byte [ecx + 6], 0x78
mov eax, dword [ebp - 0x78]
mov byte [eax + 7], 0
mov edx, dword [ebp - 0x78]
mov byte [edx + 8], 6
mov dword [ebp - 0x54], 9
cmp dword [ebp + 0x34], 0
jne 0x4d05c5
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x20]
mov ecx, dword [edx + 0x10]
add ecx, 2
cmp eax, ecx
jb 0x4d05c5
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 0x30]
mov cl, byte [edx - 2]
mov edx, dword [eax + 0x20]
xor eax, eax
shl ecx, 8
mov al, byte [edx - 1]
or ecx, eax
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x78]
inc edx
sub edx, dword [ecx + 0x14]
cmp edx, dword [ebp - 0x130]
jne 0x4d05c5
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x130]
add eax, 3
sar eax, 8
mov ecx, dword [edx + 0x20]
mov byte [ecx - 2], al
mov edx, dword [ebp + 0x30]
mov al, byte [ebp - 0x130]
add al, 3
and al, 0xff
mov ecx, dword [edx + 0x20]
mov byte [ecx - 1], al
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x1d
je 0x4d05e9
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x1e
je 0x4d05e9
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x1f
je 0x4d05e9
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x20
jne 0x4d06b3
mov edx, dword [ebp - 0x78]
mov cl, byte [edx]
sub cl, 0x1d
je 0x4d05ff
dec cl
je 0x4d0606
dec cl
je 0x4d060f
dec cl
je 0x4d0618
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4d061f
mov dword [ebp - 8], 0xd
jmp 0x4d061f
mov dword [ebp - 8], 0x1a
jmp 0x4d061f
mov dword [ebp - 8], 0x27
cmp dword [ebp - 0x84], 0
je 0x4d068b
xor edx, edx
mov dl, byte [edi - 1]
and edx, 0xc0
cmp edx, 0x80
jne 0x4d068b
lea ecx, [edi - 1]
mov dword [ebp - 0x134], ecx
jmp 0x4d064c
dec dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x4d0646
mov esi, edi
sub esi, dword [ebp - 0x134]
push esi
mov eax, dword [ebp - 0x134]
push eax
lea edx, [ebp - 0x8c]
push edx
call fcn.004f30c8
add esp, 0xc
or esi, 0x10000000
jmp 0x4d06cc
movzx esi, byte [edi - 1]
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x1e
ja 0x4d06cc
cmp dword [ebp - 0xc], 1
jle 0x4d06cc
mov dword [ebp - 0x24], esi
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x68]
or ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], ecx
jmp 0x4d06cc
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x17
jae 0x4d0923
mov dword [ebp - 8], 0x34
mov edx, dword [ebp - 0x78]
movzx esi, byte [edx]
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x10
je 0x4d06dc
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0xf
jne 0x4d06fa
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov al, byte [ecx + 1]
mov dword [ebp - 0x13c], eax
mov edx, dword [ebp - 0x78]
xor ecx, ecx
mov cl, byte [edx + 2]
mov dword [ebp - 0x140], ecx
jmp 0x4d0709
or eax, 0xffffffff
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edi
cmp dword [ebp - 0x10], 0
mov edi, dword [ebp - 0x78]
je 0x4d137f
mov eax, dword [ebp - 8]
add dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x4d0771
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4d073c
mov dl, byte [ebp - 4]
add dl, 0x21
mov byte [edi], dl
inc edi
jmp 0x4d08cc
cmp dword [ebp - 0x10], 1
jne 0x4d0750
mov cl, byte [ebp - 4]
add cl, 0x25
mov byte [edi], cl
inc edi
jmp 0x4d08cc
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
jmp 0x4d08cc
cmp dword [ebp - 0xc], 1
jne 0x4d07bf
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4d078a
mov al, byte [ebp - 4]
add al, 0x23
mov byte [edi], al
inc edi
jmp 0x4d08cc
cmp dword [ebp - 0x10], 1
mov edi, dword [ebp - 0x138]
je 0x4d137f
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 0x4d08cc
mov al, byte [ebp - 8]
add al, 0x29
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0xc]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0x10], 0
jge 0x4d083e
cmp dword [ebp - 0x84], 0
je 0x4d0811
test esi, 0x10000000
je 0x4d0811
mov eax, esi
lea edx, [ebp - 0x8c]
and eax, 7
push eax
push edx
push edi
call fcn.004f30c8
add esp, 0xc
mov ecx, esi
and ecx, 7
add edi, ecx
jmp 0x4d0831
mov eax, esi
mov byte [edi], al
inc edi
cmp dword [ebp - 0x13c], 0
jl 0x4d0831
mov dl, byte [ebp - 0x13c]
mov byte [edi], dl
inc edi
mov cl, byte [ebp - 0x140]
mov byte [edi], cl
inc edi
mov al, byte [ebp - 4]
add al, 0x21
mov byte [edi], al
inc edi
jmp 0x4d08cc
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
je 0x4d08cc
cmp dword [ebp - 0x84], 0
je 0x4d087a
test esi, 0x10000000
je 0x4d087a
mov ecx, esi
lea eax, [ebp - 0x8c]
and ecx, 7
push ecx
push eax
push edi
call fcn.004f30c8
add esp, 0xc
mov edx, esi
and edx, 7
add edi, edx
jmp 0x4d087f
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x13c], 0
jl 0x4d089a
mov al, byte [ebp - 0x13c]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x140]
mov byte [edi], dl
inc edi
mov ecx, dword [ebp - 0xc]
sub dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 1
jne 0x4d08b0
mov al, byte [ebp - 4]
add al, 0x25
mov byte [edi], al
inc edi
jmp 0x4d08cc
mov dl, byte [ebp - 4]
add dl, 0x27
mov byte [edi], dl
inc edi
mov ecx, dword [ebp - 0x10]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x10]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
cmp dword [ebp - 0x84], 0
je 0x4d08fa
test esi, 0x10000000
je 0x4d08fa
mov edx, esi
lea ecx, [ebp - 0x8c]
and edx, 7
push edx
push ecx
push edi
call fcn.004f30c8
add esp, 0xc
and esi, 7
add edi, esi
jmp 0x4d08ff
mov eax, esi
mov byte [edi], al
inc edi
cmp dword [ebp - 0x13c], 0
jl 0x4d11d0
mov dl, byte [ebp - 0x13c]
mov byte [edi], dl
inc edi
mov cl, byte [ebp - 0x140]
mov byte [edi], cl
inc edi
jmp 0x4d11d0
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x6e
je 0x4d095f
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x6f
je 0x4d095f
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x70
je 0x4d095f
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x71
je 0x4d095f
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x72
je 0x4d095f
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x73
je 0x4d095f
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x74
jne 0x4d09fa
cmp dword [ebp - 0x10], 0
jne 0x4d096d
mov edi, dword [ebp - 0x78]
jmp 0x4d137f
cmp dword [ebp - 0xc], 0
jne 0x4d0986
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4d0986
mov al, byte [ebp - 4]
add al, 0x62
mov byte [edi], al
inc edi
jmp 0x4d11d0
cmp dword [ebp - 0xc], 1
jne 0x4d09a0
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4d09a0
mov dl, byte [ebp - 4]
add dl, 0x64
mov byte [edi], dl
inc edi
jmp 0x4d11d0
cmp dword [ebp - 0xc], 0
jne 0x4d09ba
cmp dword [ebp - 0x10], 1
jne 0x4d09ba
mov cl, byte [ebp - 4]
add cl, 0x66
mov byte [edi], cl
inc edi
jmp 0x4d11d0
mov al, byte [ebp - 4]
add al, 0x68
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0xc]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4d09e1
xor eax, eax
mov dword [ebp - 0x10], eax
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
jmp 0x4d11d0
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x7d
jb 0x4d11b6
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x87
ja 0x4d11b6
mov esi, edi
xor eax, eax
sub esi, dword [ebp - 0x78]
xor edx, edx
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x14c], edx
mov ecx, dword [ebp - 0x78]
cmp byte [ecx], 0x87
jne 0x4d0a3c
mov eax, dword [ebp - 0x78]
cmp byte [eax + 3], 0x91
je 0x4d137f
mov edx, dword [ebp - 0x78]
cmp byte [edx], 0x81
jae 0x4d0a61
cmp dword [ebp - 0xc], 0
jg 0x4d137f
cmp dword [ebp - 0x10], 0
jl 0x4d0a5a
cmp dword [ebp - 0x10], 1
jle 0x4d0a61
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
jne 0x4d0b6c
cmp dword [ebp - 0x10], 1
jg 0x4d0ad1
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 1
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.004ce7e0
add esp, 0x14
push esi
mov eax, dword [ebp - 0x78]
push eax
mov edx, dword [ebp - 0x78]
inc edx
push edx
call fcn.004cbc2c
add esp, 0xc
inc edi
cmp dword [ebp - 0x10], 0
jne 0x4d0ab5
mov ecx, dword [ebp - 0x78]
mov byte [ecx], 0xa1
jmp 0x4d137f
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x78]
mov dl, byte [ebp - 4]
add dl, 0x92
mov byte [ecx], dl
inc dword [ebp - 0x78]
jmp 0x4d0b64
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 4
mov eax, dword [ebp - 0x78]
push eax
call fcn.004ce7e0
add esp, 0x14
push esi
mov edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x78]
add ecx, 4
push ecx
call fcn.004cbc2c
mov edx, dword [ebp - 0x78]
mov al, byte [ebp - 4]
add al, 0x92
add esp, 0xc
mov byte [edx], al
add edi, 4
inc dword [ebp - 0x78]
mov ecx, dword [ebp - 0x78]
mov byte [ecx], 0x83
inc dword [ebp - 0x78]
cmp dword [ebp - 0x148], 0
jne 0x4d0b2b
xor eax, eax
jmp 0x4d0b34
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x148]
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x148], edx
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x78]
sar ecx, 8
mov byte [eax], cl
mov ecx, dword [ebp - 0x78]
mov dl, byte [ebp - 0x150]
and dl, 0xff
mov byte [ecx + 1], dl
add dword [ebp - 0x78], 2
dec dword [ebp - 0x10]
jmp 0x4d0d21
cmp dword [ebp - 0xc], 1
jle 0x4d0d15
cmp dword [ebp + 0x34], 0
je 0x4d0bd9
mov eax, dword [ebp - 0xc]
dec eax
imul dword [ebp - 0x54]
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0xc]
dec edx
mov dword [ebp - 0x264], edx
fild dword [ebp - 0x264]
fild dword [ebp - 0x54]
fmulp st(1)
fcomp qword [0x4d33b0]
fnstsw ax
sahf
ja 0x4d0bbb
mov edx, dword [ebp + 0x34]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x154]
jge 0x4d0bc9
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4d339f
mov edx, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x154]
add dword [edx], ecx
jmp 0x4d0d15
cmp dword [ebp - 0x68], 0
je 0x4d0bf1
cmp dword [ebp - 0x2c], 0
jge 0x4d0bf1
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x144], 1
mov ecx, dword [ebp - 0x144]
cmp ecx, dword [ebp - 0xc]
jge 0x4d0d15
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x158], edx
push esi
mov ecx, dword [ebp - 0x78]
push ecx
push edi
call fcn.004f30c8
add esp, 0xc
jmp 0x4d0c83
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x80]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x15c], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x158]
sub eax, dword [ecx + 0x10]
mov dword [ebp - 0x160], eax
mov edx, dword [ebp + 0x30]
push edx
call fcn.004cbc9c
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d339f
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
add edx, dword [ebp - 0x160]
mov dword [ebp - 0x158], edx
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x158]
add eax, dword [edx + 0x3c]
sub ecx, dword [ebp - 0x80]
mov edx, dword [ebp + 0x30]
add eax, 0xffffff9c
sub eax, ecx
cmp eax, dword [edx + 0x20]
jb 0x4d0c26
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x158]
jae 0x4d0cf5
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [eax + 1]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0x30]
add ecx, esi
sar ecx, 8
mov edx, dword [edx + 0x20]
mov byte [edx], cl
mov edx, esi
mov cl, byte [eax]
shl ecx, 8
or cl, byte [eax + 1]
add cl, dl
mov edx, dword [ebp + 0x30]
and cl, 0xff
mov edx, dword [edx + 0x20]
mov byte [edx + 1], cl
mov ecx, dword [ebp + 0x30]
add dword [ecx + 0x20], 2
add eax, 2
cmp eax, dword [ebp - 0x158]
jb 0x4d0cb0
mov eax, dword [ebp - 0x158]
add edi, esi
mov dword [ebp - 0x80], eax
inc dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0xc]
jl 0x4d0c0a
cmp dword [ebp - 0x10], 0
jle 0x4d0d21
mov edx, dword [ebp - 0xc]
sub dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jl 0x4d0fb2
cmp dword [ebp + 0x34], 0
je 0x4d0d9c
cmp dword [ebp - 0x10], 0
jle 0x4d0d9c
mov ecx, dword [ebp - 0x54]
add ecx, 7
imul ecx, dword [ebp - 0x10]
add ecx, 0xfffffffa
mov dword [ebp - 0x164], ecx
fild dword [ebp - 0x10]
mov eax, dword [ebp - 0x54]
add eax, 7
mov dword [ebp - 0x268], eax
fild dword [ebp - 0x268]
fmulp st(1)
fcomp qword [0x4d33b0]
fnstsw ax
sahf
ja 0x4d0d7e
mov edx, dword [ebp + 0x34]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x164]
jge 0x4d0d8c
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4d339f
mov edx, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x164]
add dword [edx], ecx
jmp 0x4d0f34
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
jl 0x4d0f34
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x168], ecx
mov al, byte [ebp - 4]
add al, 0x92
mov byte [edi], al
inc edi
cmp dword [ebp - 0x144], 0
je 0x4d0e0f
mov byte [edi], 0x83
inc edi
cmp dword [ebp - 0x148], 0
jne 0x4d0de1
xor edx, edx
jmp 0x4d0de9
mov edx, edi
sub edx, dword [ebp - 0x148]
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x148], edi
mov eax, dword [ebp - 0x16c]
sar eax, 8
mov byte [edi], al
mov cl, byte [ebp - 0x16c]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
push esi
mov eax, dword [ebp - 0x78]
push eax
push edi
call fcn.004f30c8
add esp, 0xc
jmp 0x4d0e7c
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x80]
sub ecx, dword [edx + 0x10]
mov dword [ebp - 0x170], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x168]
sub edx, dword [eax + 0x10]
mov dword [ebp - 0x174], edx
mov ecx, dword [ebp + 0x30]
push ecx
call fcn.004cbc9c
pop ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d339f
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x10]
add eax, dword [ebp - 0x170]
mov dword [ebp - 0x80], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x10]
add ecx, dword [ebp - 0x174]
mov dword [ebp - 0x168], ecx
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x168]
add edx, dword [ecx + 0x3c]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp + 0x30]
add edx, 0xffffff9c
sub edx, eax
cmp edx, dword [ecx + 0x20]
jb 0x4d0e1f
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x168]
jae 0x4d0f16
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 - 0x144], 0
je 0x4d0ec9
mov ecx, 4
jmp 0x4d0ece
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 - 0x144], 0
je 0x4d0ef4
mov cl, 4
jmp 0x4d0ef6
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 - 0x168]
jb 0x4d0ea9
mov eax, dword [ebp - 0x168]
add edi, esi
mov dword [ebp - 0x80], eax
dec dword [ebp - 0x144]
cmp dword [ebp - 0x144], 0
jge 0x4d0db3
cmp dword [ebp - 0x148], 0
je 0x4d11d0
mov eax, edi
sub eax, dword [ebp - 0x148]
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 - 0x178], ecx
cmp dword [ebp - 0x178], 0
jne 0x4d0f6f
xor ecx, ecx
jmp 0x4d0f7b
mov ecx, dword [ebp - 0x148]
sub ecx, dword [ebp - 0x178]
mov dword [ebp - 0x148], 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 - 0x148], 0
jne 0x4d0f41
jmp 0x4d11d0
lea eax, [edi - 3]
xor ecx, ecx
mov dword [ebp - 0x17c], eax
xor eax, eax
mov edx, dword [ebp - 0x17c]
mov al, byte [edx + 1]
mov edx, dword [ebp - 0x17c]
shl eax, 8
mov cl, byte [edx + 2]
or eax, ecx
mov edx, dword [ebp - 0x17c]
sub edx, eax
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x180]
cmp byte [eax], 0x81
je 0x4d0ffa
mov ecx, dword [ebp - 0x180]
cmp byte [ecx], 0x82
jne 0x4d100c
cmp dword [ebp - 0xa4], 0
je 0x4d100c
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x83
mov edx, dword [ebp - 0x180]
cmp byte [edx], 0x81
je 0x4d1022
mov ecx, dword [ebp - 0x180]
cmp byte [ecx], 0x82
jne 0x4d1034
mov edx, dword [ebp - 0x17c]
mov al, byte [ebp - 4]
add al, 0x79
mov byte [edx], al
jmp 0x4d11d0
cmp dword [ebp + 0x34], 0
jne 0x4d10a4
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x184], ecx
push 0
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp - 0x17c]
push ecx
mov eax, dword [ebp - 0x184]
push eax
call fcn.004ccda8
add esp, 0x14
test eax, eax
je 0x4d1078
mov edx, dword [ebp - 0x180]
add byte [edx], 5
jmp 0x4d10a4
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x184]
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 - 0x184], eax
mov eax, dword [ebp - 0x184]
cmp byte [eax], 0x77
je 0x4d1046
cmp dword [ebp - 0xa4], 0
je 0x4d11a6
mov edx, dword [ebp - 0x180]
cmp byte [edx], 0x87
je 0x4d10cb
mov ecx, dword [ebp - 0x180]
cmp byte [ecx], 0x8c
jne 0x4d1173
mov eax, edi
sub eax, dword [ebp - 0x180]
mov dword [ebp - 0x188], eax
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 - 0x180]
push edx
call fcn.004ce7e0
add esp, 0x14
mov ecx, dword [ebp - 0x188]
push ecx
mov eax, dword [ebp - 0x180]
push eax
mov edx, dword [ebp - 0x180]
add edx, 3
push edx
call fcn.004cbc2c
add dword [ebp - 0x188], 3
mov ecx, dword [ebp - 0x180]
add edi, 3
add esp, 0xc
mov byte [ecx], 0x84
mov byte [edi], 0x7b
inc edi
mov eax, dword [ebp - 0x188]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x188]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
mov ecx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x180]
sar ecx, 8
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x180]
mov dl, byte [ebp - 0x188]
and dl, 0xff
mov byte [ecx + 2], dl
jmp 0x4d1184
mov eax, dword [ebp - 0x180]
inc byte [eax]
mov edx, dword [ebp - 0x17c]
mov byte [edx], 0x7b
cmp dword [ebp - 0x14c], 0
je 0x4d1196
mov ecx, dword [ebp - 0x14c]
mov byte [ecx], 0x94
cmp dword [ebp - 0xc], 2
jge 0x4d11d0
xor eax, eax
mov dword [ebp - 0xa4], eax
jmp 0x4d11d0
mov ecx, dword [ebp - 0x17c]
mov dl, byte [ebp - 4]
add dl, 0x79
mov byte [ecx], dl
jmp 0x4d11d0
mov eax, dword [ebp - 0x78]
cmp byte [eax], 0x9d
je 0x4d137f
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xb
jmp 0x4d339f
cmp dword [ebp - 0xa4], 0
je 0x4d137f
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x50
jg 0x4d1207
je 0x4d124c
add eax, 0xffffffe3
sub eax, 4
jb 0x4d124c
sub eax, 8
je 0x4d124c
sub eax, 0xd
je 0x4d124c
sub eax, 0xd
je 0x4d124c
jmp 0x4d12a6
sub eax, 0x5d
je 0x4d121b
add eax, 0xffffffef
sub eax, 2
jb 0x4d1288
je 0x4d128e
jmp 0x4d12a6
mov edx, dword [ebp - 0x60]
cmp byte [edx + 3], 0x10
je 0x4d122d
mov ecx, dword [ebp - 0x60]
cmp byte [ecx + 3], 0xf
jne 0x4d1234
mov eax, 2
jmp 0x4d1236
xor eax, eax
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx]
xor edx, edx
mov dl, byte [ecx + 0x5ba7e0]
add eax, edx
add dword [ebp - 0x60], eax
jmp 0x4d12a6
mov eax, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [eax]
xor eax, eax
mov al, byte [ecx + 0x5ba7e0]
add dword [ebp - 0x60], eax
cmp dword [ebp - 0x84], 0
je 0x4d12a6
mov edx, dword [ebp - 0x60]
cmp byte [edx - 1], 0xc0
jb 0x4d12a6
mov ecx, dword [ebp - 0x60]
xor eax, eax
mov al, byte [ecx - 1]
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x5ba882]
add dword [ebp - 0x60], edx
jmp 0x4d12a6
add dword [ebp - 0x60], 0x21
jmp 0x4d12a6
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x60]
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 - 0x60], eax
mov eax, edi
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
jle 0x4d137f
mov edx, dword [ebp - 0x60]
xor ecx, ecx
mov cl, byte [edx]
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0x76
jae 0x4d12f9
mov eax, dword [ebp - 0x190]
cmp byte [eax + 0x5ba19d], 0
jbe 0x4d12f9
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x60]
mov cl, byte [edx + 0x5ba19d]
mov byte [eax], cl
jmp 0x4d137f
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.004ce7e0
add esp, 0x14
mov ecx, dword [ebp - 0x18c]
push ecx
mov eax, dword [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x60]
add edx, 3
push edx
call fcn.004cbc2c
add dword [ebp - 0x18c], 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 - 0x18c]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x18c]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x60]
sar ecx, 8
mov byte [eax + 1], cl
mov ecx, dword [ebp - 0x60]
mov dl, byte [ebp - 0x18c]
and dl, 0xff
mov byte [ecx + 2], dl
xor eax, eax
mov dword [ebp - 0x78], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x44]
or dword [edx + 0x68], ecx
jmp 0x4d3398
mov eax, dword [ebp - 0x4c]
xor edx, edx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x14], 0x85
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xb0], edx
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0x2a
jne 0x4d166b
mov eax, dword [ebx]
cmp byte [eax + 1], 0x3a
je 0x4d13e7
mov edx, dword [ebx]
mov eax, dword [ebp + 0x30]
xor ecx, ecx
mov cl, byte [edx + 1]
mov edx, dword [eax + 0xc]
test byte [edx + ecx], 2
je 0x4d166b
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x198], ecx
xor ecx, ecx
mov dword [ebp - 0x19c], 0x5b92cc
mov eax, dword [ebx]
inc eax
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1a4], edx
mov dword [ebp - 0x78], ecx
inc dword [ebx]
jmp 0x4d1415
inc dword [ebx]
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov dl, byte [eax]
mov eax, dword [ecx + 0xc]
test byte [eax + edx], 2
jne 0x4d1413
mov edx, dword [ebx]
sub edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x194], edx
mov ecx, dword [ebx]
cmp byte [ecx], 0x3a
jne 0x4d1480
inc dword [ebx]
mov eax, dword [ebx]
mov dword [ebp - 0x1a4], eax
jmp 0x4d144a
inc dword [ebx]
mov edx, dword [ebx]
cmp byte [edx], 0
je 0x4d1458
mov ecx, dword [ebx]
cmp byte [ecx], 0x29
jne 0x4d1448
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0xff
jbe 0x4d1480
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x4b
jmp 0x4d339f
mov ecx, dword [ebx]
cmp byte [ecx], 0x29
je 0x4d1495
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3c
jmp 0x4d339f
xor esi, esi
jmp 0x4d1640
lea eax, [esi + esi*2]
mov edx, dword [eax*4 + 0x5b8e70]
cmp edx, dword [ebp - 0x194]
jne 0x4d162e
mov ecx, dword [ebp - 0x194]
push ecx
mov eax, dword [ebp - 0x19c]
push eax
mov edx, dword [ebp - 0x1a0]
push edx
call fcn.004f3360
add esp, 0xc
test eax, eax
jne 0x4d162e
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x5b8e74], 0x9e
jne 0x4d1563
cmp dword [ebp - 0x198], 0
je 0x4d14fe
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3b
jmp 0x4d339f
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x6c], 1
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x4d1531
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 0x4d1512
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x5c], 0
jle 0x4d153e
mov dl, 0x9f
jmp 0x4d1540
mov dl, 0x9e
mov byte [edi], dl
xor eax, eax
mov al, dl
mov dword [ebp - 0x1a8], eax
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d15fc
mov dword [ebp - 0x28], 0xffffffff
jmp 0x4d15fc
cmp dword [ebp - 0x198], 0
jne 0x4d15a0
lea ecx, [esi + esi*2]
cmp dword [ecx*4 + 0x5b8e74], 0
jge 0x4d1587
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x42
jmp 0x4d339f
lea edx, [esi + esi*2]
xor eax, eax
mov cl, byte [edx*4 + 0x5b8e74]
mov byte [edi], cl
inc edi
mov al, cl
mov dword [ebp - 0x1a8], eax
jmp 0x4d15fc
lea edx, [esi + esi*2]
cmp dword [edx*4 + 0x5b8e78], 0
jge 0x4d15bb
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3b
jmp 0x4d339f
lea edx, [esi + esi*2]
mov cl, byte [edx*4 + 0x5b8e78]
mov byte [edi], cl
xor eax, eax
mov al, cl
mov dword [ebp - 0x1a8], eax
inc edi
mov dl, byte [ebp - 0x198]
mov byte [edi], dl
inc edi
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [ebp - 0x1a4]
push edx
push edi
call fcn.004f30c8
add esp, 0xc
add edi, dword [ebp - 0x198]
mov byte [edi], 0
inc edi
mov ecx, dword [ebp - 0x1a8]
add ecx, 0xffffff6a
sub ecx, 4
jb 0x4d1620
sub ecx, 2
jb 0x4d1614
jmp 0x4d164c
mov eax, dword [ebp + 0x30]
or dword [eax + 0x64], 0x1000
jmp 0x4d164c
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x70], 1
jmp 0x4d164c
lea ecx, [esi + esi*2]
mov eax, dword [ecx*4 + 0x5b8e70]
inc eax
add dword [ebp - 0x19c], eax
inc esi
cmp esi, dword [0x5b8edc]
jl 0x4d149c
cmp esi, dword [0x5b8edc]
jl 0x4d3398
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3c
jmp 0x4d339f
mov ecx, dword [ebx]
cmp byte [ecx], 0x3f
jne 0x4d296d
inc dword [ebx]
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
cmp edx, 0x3a
jg 0x4d1700
je 0x4d177f
add edx, 0xffffffdf
cmp edx, 0x18
ja case.0x4d1695.34
jmp dword [edx*4 + 0x4d169c]
cmp edx, 0x43
jg 0x4d1727
je 0x4d1db9
sub edx, 0x3c
je 0x4d1d44
dec edx
je 0x4d1cd7
dec edx
je 0x4d1dab
jmp case.0x4d1695.34
sub edx, 0x50
je 0x4d1e69
sub edx, 2
je 0x4d2543
sub edx, 0x2a
je 0x4d1775
jmp case.0x4d1695.34
inc dword [ebx]
jmp 0x4d1749
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0
je 0x4d1757
mov eax, dword [ebx]
cmp byte [eax], 0x29
jne 0x4d1747
mov edx, dword [ebx]
cmp byte [edx], 0
jne 0x4d3398
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x12
jmp 0x4d339f
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x4d29a4
mov dword [ebp - 0x14], 0x87
mov eax, dword [ebx]
mov dword [ebp - 0x70], eax
mov edx, dword [ebx]
cmp byte [edx + 1], 0x3f
jne 0x4d17ef
mov ecx, dword [ebx]
cmp byte [ecx + 2], 0x43
jne 0x4d17ef
mov dword [ebp - 0x1ac], 3
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1ac]
cmp byte [eax + edx], 0x30
jb 0x4d17d7
mov ecx, dword [ebx]
mov eax, dword [ebp - 0x1ac]
cmp byte [ecx + eax], 0x39
ja 0x4d17d7
inc dword [ebp - 0x1ac]
jmp 0x4d17b3
mov edx, dword [ebx]
mov ecx, dword [ebp - 0x1ac]
cmp byte [edx + ecx], 0x29
jne 0x4d17ef
mov eax, dword [ebp - 0x1ac]
inc eax
add dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x70]
cmp byte [edx + 1], 0x3f
jne 0x4d181f
mov ecx, dword [ebp - 0x70]
cmp byte [ecx + 2], 0x3d
je 0x4d29a4
mov eax, dword [ebp - 0x70]
cmp byte [eax + 2], 0x21
je 0x4d29a4
mov edx, dword [ebp - 0x70]
cmp byte [edx + 2], 0x3c
je 0x4d29a4
mov byte [edi + 3], 0x8d
mov dword [ebp - 0xc8], 3
mov dword [ebp - 0xc4], 0xffffffff
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0x52
jne 0x4d185b
mov eax, dword [ebx]
cmp byte [eax + 1], 0x26
jne 0x4d185b
mov dword [ebp - 0xdc], 0xffffffff
add dword [ebx], 2
mov byte [edi + 3], 0x8f
jmp 0x4d18c1
mov edx, dword [ebx]
cmp byte [edx], 0x3c
jne 0x4d1870
mov dword [ebp - 0xdc], 0x3e
inc dword [ebx]
jmp 0x4d18c1
mov ecx, dword [ebx]
cmp byte [ecx], 0x27
jne 0x4d1885
mov dword [ebp - 0xdc], 0x27
inc dword [ebx]
jmp 0x4d18c1
xor eax, eax
mov dword [ebp - 0xdc], eax
mov edx, dword [ebx]
cmp byte [edx], 0x2d
je 0x4d189b
mov ecx, dword [ebx]
cmp byte [ecx], 0x2b
jne 0x4d18ab
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xc4], edx
inc dword [ebx]
jmp 0x4d18c1
mov ecx, dword [ebx]
cmp byte [ecx], 0x30
jb 0x4d18c1
mov eax, dword [ebx]
cmp byte [eax], 0x39
ja 0x4d18c1
xor edx, edx
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xc4], 0
jl 0x4d1902
xor ecx, ecx
mov dword [ebp - 0xc0], ecx
jmp 0x4d18f2
mov edx, dword [ebx]
mov eax, dword [ebp - 0xc0]
add eax, eax
xor ecx, ecx
mov cl, byte [edx]
sub ecx, 0x30
lea eax, [eax + eax*4]
add eax, ecx
mov dword [ebp - 0xc0], eax
inc dword [ebx]
mov eax, dword [ebx]
cmp byte [eax], 0x30
jb 0x4d1978
mov edx, dword [ebx]
cmp byte [edx], 0x39
jbe 0x4d18d4
jmp 0x4d1978
mov ecx, dword [ebx]
cmp byte [ecx], 0x30
jb 0x4d191e
mov eax, dword [ebx]
cmp byte [eax], 0x39
ja 0x4d191e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x54
jmp 0x4d339f
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 0x10
jne 0x4d193e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1c
jmp 0x4d339f
mov edx, dword [ebx]
mov dword [ebp - 0x1c0], edx
inc dword [ebx]
jmp 0x4d194c
inc dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 0x10
jne 0x4d194a
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp + 0x34], 0
je 0x4d1978
mov edx, dword [ebp + 0x34]
add dword [edx], 2
cmp dword [ebp - 0xdc], 0
jle 0x4d198f
mov cl, byte [ebp - 0xdc]
mov eax, dword [ebx]
inc dword [ebx]
cmp cl, byte [eax]
jne 0x4d1998
mov edx, dword [ebx]
inc dword [ebx]
cmp byte [edx], 0x29
je 0x4d19a8
dec dword [ebx]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1a
jmp 0x4d339f
cmp dword [ebp + 0x34], 0
jne 0x4d29a4
cmp dword [ebp - 0xc4], 0
jl 0x4d1a4a
cmp dword [ebp - 0xc0], 0
jg 0x4d19d6
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x23
jmp 0x4d339f
cmp dword [ebp - 0xc4], 0
je 0x4d1a09
cmp dword [ebp - 0xc4], 0x2d
jne 0x4d19f7
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
sub ecx, dword [ebp - 0xc0]
inc ecx
jmp 0x4d1a03
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + 0x40]
add ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 0
jle 0x4d1a20
mov edx, dword [ebp + 0x30]
mov eax, dword [edx + 0x44]
cmp eax, dword [ebp - 0xc0]
jge 0x4d1a2e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x4d339f
mov ecx, dword [ebp - 0xc0]
sar ecx, 8
mov byte [edi + 4], cl
mov al, byte [ebp - 0xc0]
and al, 0xff
mov byte [edi + 5], al
jmp 0x4d29a4
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x1c4], ecx
xor eax, eax
mov dword [ebp - 0x1ac], eax
jmp 0x4d1a96
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0x1c4]
add ecx, 2
push ecx
mov eax, dword [ebp - 0x1c0]
push eax
call fcn.004f3360
add esp, 0xc
test eax, eax
je 0x4d1aa4
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1c4], ecx
inc dword [ebp - 0x1ac]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1ac]
jg 0x4d1a60
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1ac]
jle 0x4d1ba2
mov edx, dword [ebp - 0x1ac]
xor eax, eax
mov dword [ebp - 0x1c8], edx
inc dword [ebp - 0x1ac]
mov dword [ebp - 0x1cc], 1
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1c4]
mov al, byte [ecx]
xor ecx, ecx
shl eax, 8
mov cl, byte [edx + 1]
or eax, ecx
mov dword [ebp - 0xc0], eax
jmp 0x4d1b30
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1c4], edx
mov ecx, dword [ebp - 0x1b8]
push ecx
mov eax, dword [ebp - 0x1c4]
add eax, 2
push eax
mov edx, dword [ebp - 0x1c0]
push edx
call fcn.004f3360
add esp, 0xc
test eax, eax
jne 0x4d1b3e
inc dword [ebp - 0x1cc]
inc dword [ebp - 0x1ac]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1ac]
jg 0x4d1af4
cmp dword [ebp - 0x1cc], 1
jle 0x4d1b86
mov edx, dword [ebp - 0x1c8]
sar edx, 8
mov byte [edi + 4], dl
mov cl, byte [ebp - 0x1c8]
and cl, 0xff
mov byte [edi + 5], cl
mov eax, dword [ebp - 0x1cc]
sar eax, 8
mov byte [edi + 6], al
mov dl, byte [ebp - 0x1cc]
and dl, 0xff
mov byte [edi + 7], dl
add dword [ebp - 0xc8], 2
inc byte [edi + 3]
jmp 0x4d29a4
mov ecx, dword [ebp - 0xc0]
sar ecx, 8
mov byte [edi + 4], cl
mov al, byte [ebp - 0xc0]
and al, 0xff
mov byte [edi + 5], al
jmp 0x4d29a4
cmp dword [ebp - 0xdc], 0
je 0x4d1bbe
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x4d339f
mov ecx, dword [ebp - 0x1c0]
cmp byte [ecx], 0x52
jne 0x4d1c8e
xor eax, eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x1ac], 1
mov edx, dword [ebp - 0x1ac]
cmp edx, dword [ebp - 0x1b8]
jge 0x4d1c5a
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1ac]
cmp byte [ecx + eax], 0x30
jb 0x4d1c11
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1ac]
cmp byte [edx + ecx], 0x39
jbe 0x4d1c1f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x4d339f
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1ac]
xor eax, eax
mov al, byte [edx + ecx]
mov edx, dword [ebp - 0xc0]
add edx, edx
lea edx, [edx + edx*4]
add eax, edx
sub eax, 0x30
mov dword [ebp - 0xc0], eax
inc dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x1ac]
cmp ecx, dword [ebp - 0x1b8]
jl 0x4d1bed
cmp dword [ebp - 0xc0], 0
jne 0x4d1c6d
mov dword [ebp - 0xc0], 0xffff
mov byte [edi + 3], 0x8f
mov eax, dword [ebp - 0xc0]
sar eax, 8
mov byte [edi + 4], al
mov dl, byte [ebp - 0xc0]
and dl, 0xff
mov byte [edi + 5], dl
jmp 0x4d29a4
cmp dword [ebp - 0x1b8], 6
jne 0x4d1cc4
push 6
push str.DEFINE
mov ecx, dword [ebp - 0x1c0]
push ecx
call fcn.004f3360
add esp, 0xc
test eax, eax
jne 0x4d1cc4
mov byte [edi + 3], 0x91
mov dword [ebp - 0xc8], 1
jmp 0x4d29a4
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x4d339f
mov dword [ebp - 0x14], 0x7d
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
inc dword [ebx]
jmp 0x4d29a4
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0x29
jne 0x4d1d32
mov eax, dword [ebx]
cmp byte [eax + 1], 0x2a
je 0x4d1d32
mov edx, dword [ebx]
cmp byte [edx + 1], 0x2b
je 0x4d1d32
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x3f
je 0x4d1d32
mov eax, dword [ebx]
cmp byte [eax + 1], 0x7b
jne 0x4d1d24
mov edx, dword [ebx]
add edx, 2
push edx
call fcn.004cbd24
pop ecx
test eax, eax
jne 0x4d1d32
mov byte [edi], 0x9d
inc edi
xor ecx, ecx
mov dword [ebp - 0x78], ecx
jmp 0x4d3398
mov dword [ebp - 0x14], 0x7e
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
jmp 0x4d29a4
mov edx, dword [ebx]
mov cl, byte [edx + 1]
sub cl, 0x21
je 0x4d1d6a
sub cl, 0x1c
je 0x4d1d55
jmp 0x4d1d7f
mov dword [ebp - 0x14], 0x7f
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x5c]
add dword [ebx], 2
jmp 0x4d29a4
mov dword [ebp - 0x14], 0x80
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x5c]
add dword [ebx], 2
jmp 0x4d29a4
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx + 1]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 0x10
jne case.0x4d1695.39
inc dword [ebx]
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x18
jmp 0x4d339f
mov dword [ebp - 0x14], 0x81
inc dword [ebx]
jmp 0x4d29a4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x50], 1
mov byte [edi], 0x76
inc edi
xor edx, edx
mov dword [ebp - 0x1d0], edx
inc dword [ebx]
jmp 0x4d1df1
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ebx]
add ecx, ecx
xor edx, edx
mov dl, byte [eax]
lea ecx, [ecx + ecx*4]
add ecx, edx
sub ecx, 0x30
mov dword [ebp - 0x1d0], ecx
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0x30
jb 0x4d1dff
mov eax, dword [ebx]
cmp byte [eax], 0x39
jbe 0x4d1dd3
mov edx, dword [ebx]
cmp byte [edx], 0x29
je 0x4d1e14
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x27
jmp 0x4d339f
cmp dword [ebp - 0x1d0], 0xff
jle 0x4d1e2e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x26
jmp 0x4d339f
mov dl, byte [ebp - 0x1d0]
mov byte [edi], dl
inc edi
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebx]
sub eax, dword [ecx + 0x18]
inc eax
sar eax, 8
mov byte [edi], al
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebx]
sub ecx, dword [edx + 0x18]
inc ecx
and cl, 0xff
mov byte [edi + 1], cl
mov byte [edi + 2], 0
mov byte [edi + 3], 0
add edi, 4
xor eax, eax
mov dword [ebp - 0x78], eax
jmp 0x4d3398
inc dword [ebx]
mov edx, dword [ebx]
cmp byte [edx], 0x3d
je 0x4d1e79
mov ecx, dword [ebx]
cmp byte [ecx], 0x3e
jne 0x4d1e9b
mov eax, dword [ebx]
cmp byte [eax], 0x3e
sete dl
and edx, 1
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xdc], 0x29
jmp 0x4d2171
mov ecx, dword [ebx]
cmp byte [ecx], 0x3c
je case.0x4d1695.39
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x29
jmp 0x4d339f
mov edx, dword [ebx]
cmp byte [edx], 0x3c
jne 0x4d1ebe
mov ecx, 0x3e
jmp 0x4d1ec3
mov ecx, 0x27
mov dword [ebp - 0xdc], ecx
inc dword [ebx]
mov eax, dword [ebx]
mov dword [ebp - 0x1c0], eax
mov edx, dword [ebx]
cmp byte [edx], 0x30
jb 0x4d1ef3
mov eax, dword [ebx]
cmp byte [eax], 0x39
ja 0x4d1ef3
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x54
jmp 0x4d339f
inc dword [ebx]
mov ecx, dword [ebx]
mov edx, dword [ebp + 0x30]
xor eax, eax
mov al, byte [ecx]
mov ecx, dword [edx + 0xc]
test byte [ecx + eax], 0x10
jne 0x4d1ef1
mov eax, dword [ebx]
sub eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp + 0x34], 0
je 0x4d2156
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
inc ecx
mov dword [ebp - 0x1d8], ecx
mov al, byte [ebp - 0xdc]
mov edx, dword [ebx]
cmp al, byte [edx]
je 0x4d1f44
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x2a
jmp 0x4d339f
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x30], 0x2710
jl 0x4d1f5e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x31
jmp 0x4d339f
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1b8]
add ecx, 3
cmp ecx, dword [eax + 0x34]
jle 0x4d1f95
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1b8]
add edx, 3
mov dword [ecx + 0x34], edx
cmp dword [ebp - 0x1b8], 0x20
jle 0x4d1f95
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x4d339f
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x1d4], ecx
xor eax, eax
mov dword [ebp - 0x1ac], eax
jmp 0x4d203f
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [edx + 4]
cmp ecx, dword [ebp - 0x1b8]
jne 0x4d2013
mov eax, dword [ebp - 0x1b8]
push eax
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x1c0]
push eax
call fcn.004f3360
add esp, 0xc
test eax, eax
jne 0x4d2013
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [edx + 8]
cmp ecx, dword [ebp - 0x1d8]
je 0x4d2051
test byte [ebp - 0x4a], 8
jne 0x4d2007
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2b
jmp 0x4d339f
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x78], 1
jmp 0x4d2032
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [ecx + 8]
cmp eax, dword [ebp - 0x1d8]
jne 0x4d2032
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x41
jmp 0x4d339f
inc dword [ebp - 0x1ac]
add dword [ebp - 0x1d4], 0xc
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1ac]
jg 0x4d1fae
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1ac]
jg 0x4d2156
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x30]
jg 0x4d2106
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x38]
add edx, edx
mov dword [ebp - 0x1dc], edx
mov ecx, dword [ebp - 0x1dc]
shl ecx, 2
lea ecx, [ecx + ecx*2]
push ecx
call dword [0x5ba2f4]
pop ecx
mov dword [ebp - 0x1e0], eax
cmp dword [ebp - 0x1e0], 0
jne 0x4d20b4
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x15
jmp 0x4d339f
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x38]
shl ecx, 2
lea ecx, [ecx + ecx*2]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x28]
push edx
mov ecx, dword [ebp - 0x1e0]
push ecx
call fcn.004f30c8
add esp, 0xc
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x38], 0x14
jle 0x4d20ee
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
push ecx
call dword [0x5ba2f8]
pop ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp - 0x1e0]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1dc]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x1c0]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x1b8]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x1d8]
lea ecx, [ecx + ecx*2]
mov dword [edx + ecx*4 + 8], eax
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x30]
inc dword [ebx]
jmp 0x4d297c
mov dword [ebp - 0xdc], 0x29
mov dword [ebp - 0xac], 1
inc dword [ebx]
mov ecx, dword [ebx]
mov dword [ebp - 0x1c0], ecx
mov eax, dword [ebx]
cmp byte [eax], 0x30
jb 0x4d219b
mov edx, dword [ebx]
cmp byte [edx], 0x39
ja 0x4d219b
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x54
jmp 0x4d339f
inc dword [ebx]
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x30]
xor edx, edx
mov dl, byte [eax]
mov eax, dword [ecx + 0xc]
test byte [eax + edx], 0x10
jne 0x4d2199
mov edx, dword [ebx]
sub edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1b8], edx
cmp dword [ebp + 0x34], 0
je 0x4d22ab
cmp dword [ebp - 0x1b8], 0
jne 0x4d21dc
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3e
jmp 0x4d339f
mov al, byte [ebp - 0xdc]
mov edx, dword [ebx]
cmp al, byte [edx]
je 0x4d21f6
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x2a
jmp 0x4d339f
cmp dword [ebp - 0x1b8], 0x20
jle 0x4d220d
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x4d339f
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x28]
mov dword [ebp - 0x1e4], ecx
xor eax, eax
mov dword [ebp - 0x1ac], eax
jmp 0x4d2264
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [edx + 4]
cmp ecx, dword [ebp - 0x1b8]
jne 0x4d2257
mov eax, dword [ebp - 0x1b8]
push eax
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x1c0]
push eax
call fcn.004f3360
add esp, 0xc
test eax, eax
je 0x4d2272
inc dword [ebp - 0x1ac]
add dword [ebp - 0x1e4], 0xc
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x30]
cmp ecx, dword [ebp - 0x1ac]
jg 0x4d2223
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1ac]
jle 0x4d228b
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [ecx + 8]
jmp 0x4d228d
xor eax, eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xac], 0
jne 0x4d2356
mov edx, dword [ebp + 0x30]
inc dword [edx + 0x54]
jmp 0x4d2356
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x1c4], eax
xor edx, edx
mov dword [ebp - 0x1ac], edx
jmp 0x4d230a
mov ecx, dword [ebp - 0x1b8]
push ecx
mov eax, dword [ebp - 0x1c4]
add eax, 2
push eax
mov edx, dword [ebp - 0x1c0]
push edx
call fcn.004f3360
add esp, 0xc
test eax, eax
jne 0x4d22f8
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1b8]
cmp byte [ecx + eax + 2], 0
je 0x4d2318
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1c4], ecx
inc dword [ebp - 0x1ac]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x30]
cmp edx, dword [ebp - 0x1ac]
jg 0x4d22c1
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1ac]
jle 0x4d2348
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x1c4]
xor ecx, ecx
mov cl, byte [edx]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 1]
or ecx, edx
mov dword [ebp - 0xc0], ecx
jmp 0x4d2356
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x4d339f
cmp dword [ebp - 0xac], 0
jne 0x4d2671
cmp dword [ebp + 0x34], 0
jne 0x4d2e90
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x78], 0
je 0x4d2e90
mov dword [ebp - 0x1e8], 1
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1ec], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x34]
add eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x1f0], eax
inc dword [ebp - 0x1ac]
jmp 0x4d23f2
mov eax, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1f0]
add eax, 2
add edx, 2
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4d23d8
test cl, cl
je 0x4d23da
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4d23d8
add eax, 2
add edx, 2
test cl, cl
jne 0x4d23bc
jne 0x4d2400
inc dword [ebp - 0x1e8]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x34]
add dword [ebp - 0x1f0], edx
inc dword [ebp - 0x1ac]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x30]
cmp eax, dword [ebp - 0x1ac]
jg 0x4d23aa
cmp dword [ebp - 0x1e8], 1
jle 0x4d2e90
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d241a
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x4d2427
mov dl, 0x74
jmp 0x4d2429
mov dl, 0x73
mov byte [edi], dl
inc edi
mov eax, dword [ebp - 0x1ec]
shr eax, 8
mov byte [edi], al
mov cl, byte [ebp - 0x1ec]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov eax, dword [ebp - 0x1e8]
sar eax, 8
mov byte [edi], al
mov dl, byte [ebp - 0x1e8]
and dl, 0xff
mov byte [edi + 1], dl
add edi, 2
mov ecx, dword [ebp - 0x1c4]
cmp ecx, dword [ebp - 0x1f0]
jae 0x4d3398
mov eax, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x1c4]
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
cmp dword [ebp - 0xc0], 0x20
jge 0x4d24aa
mov ecx, dword [ebp - 0xc0]
mov edx, 1
shl edx, cl
jmp 0x4d24af
mov edx, 1
mov eax, dword [ebp + 0x30]
or dword [eax + 0x50], edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x4c]
cmp eax, dword [ebp - 0xc0]
jge 0x4d24cf
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xc0]
mov dword [edx + 0x4c], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x1f4], edx
cmp dword [ebp - 0x1f4], 0
je 0x4d251b
mov ecx, dword [ebp - 0x1f4]
movzx eax, word [ecx + 4]
cmp eax, dword [ebp - 0xc0]
jne 0x4d2504
mov edx, dword [ebp - 0x1f4]
mov word [edx + 6], 1
jmp 0x4d251b
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [ecx]
mov dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 0
jne 0x4d24e4
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x34]
add dword [ebp - 0x1c4], ecx
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x1f0]
jb 0x4d2472
jmp 0x4d3398
inc dword [ebx]
mov dword [ebp - 0xdc], 0x29
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx]
mov dword [ebp - 0xc4], ecx
cmp ecx, 0x2b
jne 0x4d2580
inc dword [ebx]
mov eax, dword [ebx]
cmp byte [eax], 0x30
jb 0x4d2570
mov edx, dword [ebx]
cmp byte [edx], 0x39
jbe 0x4d25a3
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3f
jmp 0x4d339f
cmp dword [ebp - 0xc4], 0x2d
jne 0x4d25a3
mov edx, dword [ebx]
cmp byte [edx + 1], 0x30
jb case.0x4d1695.34
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x39
ja case.0x4d1695.34
inc dword [ebx]
xor eax, eax
mov dword [ebp - 0xc0], eax
jmp 0x4d25cb
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebx]
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 [ebx]
mov edx, dword [ebx]
cmp byte [edx], 0x30
jb 0x4d25d9
mov ecx, dword [ebx]
cmp byte [ecx], 0x39
jbe 0x4d25ad
mov al, byte [ebp - 0xdc]
mov edx, dword [ebx]
cmp al, byte [edx]
je 0x4d25f3
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1d
jmp 0x4d339f
cmp dword [ebp - 0xc4], 0x2d
jne 0x4d263f
cmp dword [ebp - 0xc0], 0
jne 0x4d2613
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x4d339f
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
sub ecx, dword [ebp - 0xc0]
inc ecx
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 0
jg 0x4d2671
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x4d339f
cmp dword [ebp - 0xc4], 0x2b
jne 0x4d2671
cmp dword [ebp - 0xc0], 0
jne 0x4d265f
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3a
jmp 0x4d339f
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x78], edi
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp + 0x34], 0
jne 0x4d27ac
mov byte [edi], 0
cmp dword [ebp - 0xc0], 0
je 0x4d26b9
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.004ccb84
add esp, 0xc
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jne 0x4d2758
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x44]
cmp ecx, dword [ebp - 0xc0]
jge 0x4d26e2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x4d339f
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x14]
add ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x1f8], ecx
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]
ja 0x4d2726
mov edx, dword [ebp + 0x30]
push edx
call fcn.004cbc9c
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d339f
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x30]
lea edx, [edi + 1]
sub edx, dword [ecx + 0x14]
mov ecx, dword [eax + 0x20]
sar edx, 8
mov byte [ecx], dl
lea edx, [edi + 1]
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x30]
sub edx, dword [eax + 0x14]
mov eax, dword [ecx + 0x20]
and dl, 0xff
mov byte [eax + 1], dl
mov edx, dword [ebp + 0x30]
add dword [edx + 0x20], 2
jmp 0x4d27ac
mov ecx, dword [ebp - 0x1f8]
xor eax, eax
mov edx, dword [ebp - 0x1f8]
mov al, byte [ecx + 1]
xor ecx, ecx
shl eax, 8
mov cl, byte [edx + 2]
or eax, ecx
jne 0x4d27ac
cmp dword [ebp + 0x2c], 0
jg 0x4d27ac
mov eax, dword [ebp + 0x30]
push eax
mov edx, dword [ebp - 0x84]
push edx
mov ecx, dword [ebp + 0x28]
push ecx
push edi
mov eax, dword [ebp - 0x1f8]
push eax
call fcn.004cd250
add esp, 0x14
test eax, eax
je 0x4d27ac
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x28
jmp 0x4d339f
mov byte [edi], 0x75
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x1f8]
sub eax, dword [ecx + 0x14]
sar eax, 8
mov byte [edi + 1], al
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x1f8]
sub ecx, dword [edx + 0x14]
and cl, 0xff
mov byte [edi + 2], cl
add edi, 3
xor eax, eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d3398
mov dword [ebp - 0x28], 0xffffffff
jmp 0x4d3398
xor edx, edx
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x1b0], edx
mov dword [ebp - 0x1bc], eax
jmp 0x4d28c1
mov ecx, dword [ebx]
inc dword [ebx]
xor eax, eax
mov al, byte [ecx]
cmp eax, 0x69
jg 0x4d2835
je 0x4d286c
sub eax, 0x2d
je 0x4d2846
sub eax, 0x1d
je 0x4d2854
sub eax, 0xb
je 0x4d2898
sub eax, 3
je 0x4d28a6
jmp 0x4d28b1
sub eax, 0x6d
je 0x4d2877
sub eax, 6
je 0x4d2882
sub eax, 5
je 0x4d288d
jmp 0x4d28b1
lea edx, [ebp - 0x1b4]
mov dword [ebp - 0x1bc], edx
jmp 0x4d28c1
mov ecx, dword [ebp - 0x1bc]
or dword [ecx], 0x80000
mov eax, dword [ebp + 0x30]
or dword [eax + 0x64], 0x400
jmp 0x4d28c1
mov edx, dword [ebp - 0x1bc]
or dword [edx], 1
jmp 0x4d28c1
mov ecx, dword [ebp - 0x1bc]
or dword [ecx], 2
jmp 0x4d28c1
mov eax, dword [ebp - 0x1bc]
or dword [eax], 4
jmp 0x4d28c1
mov edx, dword [ebp - 0x1bc]
or dword [edx], 8
jmp 0x4d28c1
mov ecx, dword [ebp - 0x1bc]
or dword [ecx], 0x200
jmp 0x4d28c1
mov eax, dword [ebp - 0x1bc]
or dword [eax], 0x40
jmp 0x4d28c1
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xc
dec dword [ebx]
jmp 0x4d339f
mov ecx, dword [ebx]
cmp byte [ecx], 0x29
je 0x4d28d3
mov eax, dword [ebx]
cmp byte [eax], 0x3a
jne 0x4d2810
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1b4]
not ecx
and edx, ecx
mov dword [ebp - 0xbc], edx
mov eax, dword [ebx]
cmp byte [eax], 0x29
jne 0x4d2962
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x14]
add ecx, 3
cmp edi, ecx
jne 0x4d291c
cmp dword [ebp + 0x34], 0
je 0x4d290e
mov eax, dword [ebp + 0x34]
cmp dword [eax], 6
jne 0x4d291c
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xbc]
mov dword [edx + 0x60], ecx
jmp 0x4d294a
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 0x4d2945
mov ecx, 1
jmp 0x4d2947
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 0x4d3398
mov dword [ebp - 0x14], 0x83
inc dword [ebx]
jmp 0x4d29a4
test byte [ebp - 0x4b], 0x10
je 0x4d297c
mov dword [ebp - 0x14], 0x83
jmp 0x4d29a4
mov eax, dword [ebp + 0x30]
inc dword [eax + 0x40]
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x40]
shr ecx, 8
mov byte [edi + 3], cl
mov eax, dword [ebp + 0x30]
mov dl, byte [eax + 0x40]
and dl, 0xff
mov byte [edi + 4], dl
mov dword [ebp - 0xc8], 2
mov ecx, dword [ebp + 0x30]
inc dword [ecx + 0x58]
mov eax, dword [ecx + 0x58]
cmp eax, 0xfa
jle 0x4d29c2
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x52
jmp 0x4d339f
mov dword [ebp - 0x78], edi
mov cl, byte [ebp - 0x14]
mov byte [edi], cl
mov dword [ebp - 0x60], edi
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x68]
mov dword [ebp - 0x48], edx
xor edx, edx
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x54], edx
cmp dword [ebp + 0x34], 0
jne 0x4d29f1
xor ecx, ecx
jmp 0x4d29f4
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], 0x87
jne 0x4d2a29
mov edx, 1
jmp 0x4d2a2b
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], 0x7f
je 0x4d2a50
cmp dword [ebp - 0x14], 0x80
je 0x4d2a50
xor eax, eax
jmp 0x4d2a55
mov eax, 1
push eax
lea ecx, [ebp - 0x60]
mov edx, dword [ebp + 0x14]
push edx
push ebx
push ecx
mov eax, dword [ebp - 0xbc]
push eax
call fcn.004d33b8
add esp, 0x3c
test eax, eax
je 0x4d339f
mov edx, dword [ebp + 0x30]
dec dword [edx + 0x58]
cmp dword [ebp - 0x14], 0x81
jne 0x4d2a96
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x40]
cmp eax, dword [ebp - 0xe4]
ja 0x4d2a96
mov byte [edi], 0x82
cmp dword [ebp - 0x14], 0x7d
jl 0x4d2aab
cmp dword [ebp - 0x14], 0x80
jg 0x4d2aab
mov edx, dword [ebp + 0x30]
dec dword [edx + 0x5c]
cmp dword [ebp - 0x14], 0x87
jne 0x4d2b57
cmp dword [ebp + 0x34], 0
jne 0x4d2b57
mov dword [ebp - 0x1fc], edi
xor ecx, ecx
mov dword [ebp - 0x200], ecx
inc dword [ebp - 0x200]
xor edx, edx
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1fc]
mov dl, byte [eax + 1]
xor eax, eax
shl edx, 8
mov al, byte [ecx + 2]
or edx, eax
add dword [ebp - 0x1fc], edx
mov edx, dword [ebp - 0x1fc]
cmp byte [edx], 0x78
jne 0x4d2ad0
cmp byte [edi + 3], 0x91
jne 0x4d2b28
cmp dword [ebp - 0x200], 1
jle 0x4d2b1f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x36
jmp 0x4d339f
mov dword [ebp - 0x14], 0x91
jmp 0x4d2b57
cmp dword [ebp - 0x200], 2
jle 0x4d2b3f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1b
jmp 0x4d339f
cmp dword [ebp - 0x200], 1
jne 0x4d2b57
or edx, 0xffffffff
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd8], edx
mov eax, dword [ebx]
cmp byte [eax], 0x29
je 0x4d2b6c
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xe
jmp 0x4d339f
cmp dword [ebp + 0x34], 0
je 0x4d2bbd
mov eax, dword [ebp + 0x34]
mov edx, 0x7fffffeb
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffffa
sub edx, dword [eax]
cmp edx, ecx
jge 0x4d2b94
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4d339f
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp - 0x54]
add edx, 0xfffffffa
inc edi
add dword [ecx], edx
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 0x4d3398
cmp dword [ebp - 0x14], 0x91
mov edi, dword [ebp - 0x60]
je 0x4d3398
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], 0x81
jl 0x4d2c82
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d2c31
cmp dword [ebp - 0xd8], 0
jl 0x4d2c21
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 0x4d2c28
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
jmp 0x4d2c5e
cmp dword [ebp - 0xd8], 0
jl 0x4d2c5e
cmp dword [ebp - 0xd4], 0
jge 0x4d2c5e
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 0x4d3398
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x2c], edx
jmp 0x4d3398
cmp dword [ebp - 0x14], 0x7d
jne 0x4d3398
cmp dword [ebp - 0xd4], 0
jl 0x4d3398
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x2c], eax
jmp 0x4d3398
mov edx, dword [ebx]
mov dword [ebp - 0x70], edx
push 0
mov ecx, dword [ebp - 0x4c]
push ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x40]
lea eax, [ebp - 0xe8]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
push eax
push ebx
call fcn.004cbd9c
add esp, 0x18
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4d339f
test esi, esi
jne 0x4d2cf3
mov esi, dword [ebp - 0xe8]
jmp 0x4d3046
cmp esi, 0x1a
jne 0x4d2d1c
mov eax, dword [ebx]
cmp byte [eax + 1], 0x5c
jne 0x4d2d10
mov edx, dword [ebx]
cmp byte [edx + 2], 0x45
jne 0x4d2d10
add dword [ebx], 2
jmp 0x4d3398
mov dword [ebp - 0x64], 1
jmp 0x4d3398
cmp esi, 0x19
je 0x4d3398
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d2d3c
cmp esi, 5
jle 0x4d2d3c
cmp esi, 0x17
jge 0x4d2d3c
mov dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x20]
cmp esi, 0x1b
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
jne 0x4d2e1f
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x80], edx
inc dword [ebx]
mov ecx, dword [ebx]
cmp byte [ecx], 0x3c
jne 0x4d2d76
mov eax, 0x3e
jmp 0x4d2d7b
mov eax, 0x27
mov dword [ebp - 0xdc], eax
xor edx, edx
mov dword [ebp - 0xc8], edx
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebx]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [ebp - 0x208], edx
cmp dword [ebp - 0x208], 0x2b
je 0x4d2dd1
cmp dword [ebp - 0x208], 0x2d
je 0x4d2dd1
cmp dword [ebp - 0x208], 0x30
jb 0x4d2dc2
cmp dword [ebp - 0x208], 0x39
jbe 0x4d2dd1
mov dword [ebp - 0xac], 1
jmp 0x4d2171
mov ecx, dword [ebx]
add ecx, 2
mov dword [ebp - 0x204], ecx
jmp 0x4d2de4
inc dword [ebp - 0x204]
mov eax, dword [ebp - 0x204]
cmp byte [eax], 0x30
jb 0x4d2dfa
mov edx, dword [ebp - 0x204]
cmp byte [edx], 0x39
jbe 0x4d2dde
mov cl, byte [ebp - 0xdc]
mov eax, dword [ebp - 0x204]
cmp cl, byte [eax]
je 0x4d2e18
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x39
jmp 0x4d3398
inc dword [ebx]
jmp 0x4d254f
cmp esi, 0x1c
jne 0x4d2e80
mov ecx, dword [ebx]
cmp byte [ecx + 1], 0x3c
je 0x4d2e4a
mov eax, dword [ebx]
cmp byte [eax + 1], 0x27
je 0x4d2e4a
mov edx, dword [ebx]
cmp byte [edx + 1], 0x7b
je 0x4d2e4a
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x45
jmp 0x4d3398
xor eax, eax
mov dword [ebp - 0xac], eax
inc dword [ebx]
mov edx, dword [ebx]
cmp byte [edx], 0x3c
jne 0x4d2e62
mov ecx, 0x3e
jmp 0x4d2e75
mov eax, dword [ebx]
cmp byte [eax], 0x27
jne 0x4d2e70
mov ecx, 0x27
jmp 0x4d2e75
mov ecx, 0x7d
mov dword [ebp - 0xdc], ecx
jmp 0x4d2171
test esi, esi
jge 0x4d2f5e
neg esi
mov dword [ebp - 0xc0], esi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d2e9d
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x78], edi
test byte [ebp - 0x4c], 1
je 0x4d2eaa
mov al, 0x72
jmp 0x4d2eac
mov al, 0x71
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc0]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0xc0]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0xc0], 0x20
jge 0x4d2ee1
mov ecx, dword [ebp - 0xc0]
mov eax, 1
shl eax, cl
jmp 0x4d2ee6
mov eax, 1
mov edx, dword [ebp + 0x30]
or dword [edx + 0x50], eax
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x4c]
cmp eax, dword [ebp - 0xc0]
jge 0x4d2f06
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0xc0]
mov dword [edx + 0x4c], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x20c], edx
cmp dword [ebp - 0x20c], 0
je 0x4d3398
mov ecx, dword [ebp - 0x20c]
movzx eax, word [ecx + 4]
cmp eax, dword [ebp - 0xc0]
jne 0x4d2f42
mov edx, dword [ebp - 0x20c]
mov word [edx + 6], 1
jmp 0x4d3398
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ecx]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
jne 0x4d2f1f
jmp 0x4d3398
cmp esi, 0xf
je 0x4d2f68
cmp esi, 0x10
jne 0x4d2fd6
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp + 0x14]
lea edx, [ebp - 0x218]
push eax
push edx
lea ecx, [ebp - 0x214]
lea eax, [ebp - 0x210]
push ecx
push eax
push ebx
call fcn.004cc5bc
add esp, 0x14
test eax, eax
je 0x4d339f
mov dword [ebp - 0x78], edi
cmp esi, 0x10
sete dl
and edx, 1
cmp edx, dword [ebp - 0x210]
je 0x4d2fba
mov cl, 0x10
jmp 0x4d2fbc
mov cl, 0xf
mov byte [edi], cl
inc edi
mov al, byte [ebp - 0x214]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0x218]
mov byte [edi], dl
inc edi
jmp 0x4d3398
cmp esi, 5
je 0x4d2fe5
cmp esi, 4
je 0x4d2fe5
cmp esi, 1
jne 0x4d2ff8
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x48], 0
jne 0x4d2ff8
mov edx, dword [ebp + 0x30]
mov dword [edx + 0x48], 1
cmp esi, 0x1d
jl 0x4d3017
cmp esi, 0x22
jg 0x4d3017
mov ecx, dword [ebx]
inc ecx
mov dword [ebp - 0x74], ecx
mov eax, dword [esi*4 + 0x5b8f14]
dec eax
mov dword [ebx], eax
jmp 0x4d3398
cmp esi, 5
jle 0x4d3025
cmp esi, 0x17
jge 0x4d3025
mov edx, edi
jmp 0x4d3027
xor edx, edx
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x84], 0
jne 0x4d303c
cmp esi, 0xe
jne 0x4d303c
mov al, 0xd
jmp 0x4d303e
mov eax, esi
mov byte [edi], al
inc edi
jmp 0x4d3398
cmp dword [ebp - 0x84], 0
je 0x4d306c
cmp esi, 0x7f
jbe 0x4d306c
lea edx, [ebp - 0xf0]
push edx
push esi
call fcn.004e6b00
add esp, 8
mov dword [ebp - 0xe0], eax
jmp 0x4d30d3
mov ecx, esi
mov byte [ebp - 0xf0], cl
mov dword [ebp - 0xe0], 1
jmp 0x4d30d3
mov dword [ebp - 0xe0], 1
mov eax, esi
mov byte [ebp - 0xf0], al
cmp dword [ebp - 0x84], 0
je 0x4d30d3
cmp esi, 0xc0
jb 0x4d30d3
jmp 0x4d30be
inc dword [ebx]
mov edx, dword [ebx]
mov eax, dword [ebp - 0xe0]
mov cl, byte [edx]
mov byte [ebp + eax - 0xf0], cl
inc dword [ebp - 0xe0]
mov edx, dword [ebx]
xor ecx, ecx
mov cl, byte [edx + 1]
and ecx, 0xc0
cmp ecx, 0x80
je 0x4d30a5
mov dword [ebp - 0x78], edi
cmp dword [ebp - 0x84], 0
je 0x4d3294
test byte [ebp - 0x4c], 1
je 0x4d3294
movzx esi, byte [ebp - 0xf0]
cmp esi, 0xc0
jb 0x4d3230
test esi, 0x20
jne 0x4d3120
and esi, 0x1f
xor eax, eax
mov al, byte [ebp - 0xef]
shl esi, 6
and eax, 0x3f
or esi, eax
jmp 0x4d3230
test esi, 0x10
jne 0x4d3150
xor edx, edx
and esi, 0xf
mov dl, byte [ebp - 0xef]
xor ecx, ecx
and edx, 0x3f
mov cl, byte [ebp - 0xee]
shl edx, 6
and ecx, 0x3f
shl esi, 0xc
or esi, edx
or esi, ecx
jmp 0x4d3230
test esi, 8
jne 0x4d3190
xor eax, eax
xor edx, edx
mov al, byte [ebp - 0xef]
mov dl, byte [ebp - 0xee]
and eax, 0x3f
and esi, 7
shl eax, 0xc
and edx, 0x3f
shl esi, 0x12
xor ecx, ecx
shl edx, 6
or esi, eax
mov cl, byte [ebp - 0xed]
or esi, edx
and ecx, 0x3f
or esi, ecx
jmp 0x4d3230
test esi, 4
jne 0x4d31dd
xor eax, eax
and esi, 3
mov al, byte [ebp - 0xef]
xor edx, edx
and eax, 0x3f
mov dl, byte [ebp - 0xee]
shl eax, 0x12
xor ecx, ecx
shl esi, 0x18
mov cl, byte [ebp - 0xed]
and edx, 0x3f
or esi, eax
shl edx, 0xc
and ecx, 0x3f
shl ecx, 6
xor eax, eax
or esi, edx
mov al, byte [ebp - 0xec]
and eax, 0x3f
or esi, ecx
or esi, eax
jmp 0x4d3230
xor edx, edx
and esi, 1
mov dl, byte [ebp - 0xef]
xor ecx, ecx
and edx, 0x3f
mov cl, byte [ebp - 0xee]
shl edx, 0x18
and ecx, 0x3f
shl esi, 0x1e
xor eax, eax
or esi, edx
xor edx, edx
shl ecx, 0x12
mov al, byte [ebp - 0xed]
and eax, 0x3f
mov dl, byte [ebp - 0xec]
shl eax, 0xc
or esi, ecx
and edx, 0x3f
xor ecx, ecx
shl edx, 6
or esi, eax
mov cl, byte [ebp - 0xeb]
or esi, edx
and ecx, 0x3f
or esi, ecx
mov eax, esi
test eax, eax
jns 0x4d3239
add eax, 0x7f
sar eax, 7
xor edx, edx
mov dl, byte [eax + 0x5c8cac]
shl edx, 7
mov ecx, esi
and ecx, 0x8000007f
jns 0x4d3256
dec ecx
or ecx, 0xffffff80
inc ecx
add edx, ecx
movzx eax, word [edx*2 + 0x5bc1ac]
xor edx, edx
mov dl, byte [eax*8 + 0x5bae17]
mov esi, edx
test edx, edx
je 0x4d3294
mov byte [edi], 0x10
inc edi
mov byte [edi], 9
inc edi
mov eax, esi
mov byte [edi], al
inc edi
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d3398
or ecx, 0xffffffff
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], ecx
jmp 0x4d3398
test byte [ebp - 0x4c], 1
je 0x4d329e
mov al, 0x1e
jmp 0x4d32a0
mov al, 0x1d
mov byte [edi], al
inc edi
xor esi, esi
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x21c], eax
cmp esi, dword [ebp - 0xe0]
jae 0x4d32d3
mov edx, dword [ebp - 0x21c]
mov cl, byte [edx]
mov byte [edi], cl
inc edi
inc esi
inc dword [ebp - 0x21c]
cmp esi, dword [ebp - 0xe0]
jb 0x4d32b9
cmp byte [ebp - 0xf0], 0xd
je 0x4d32e5
cmp byte [ebp - 0xf0], 0xa
jne 0x4d32ef
mov eax, dword [ebp + 0x30]
or dword [eax + 0x64], 0x800
cmp dword [ebp - 0x28], 0xfffffffe
jne 0x4d335d
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 0x4d3317
cmp dword [ebp - 0x40], 0
jne 0x4d3352
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 0x4d3398
xor eax, eax
mov al, byte [edi - 1]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [edx + 0x68]
mov dword [ebp - 0x2c], ecx
jmp 0x4d3398
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
jmp 0x4d3398
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 0x4d3384
cmp dword [ebp - 0x40], 0
jne 0x4d3398
xor ecx, ecx
mov cl, byte [edi - 1]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + 0x68]
or edx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], edx
inc dword [ebx]
jmp 0x4ced87
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebx]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret