Function at 0x448260
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x5e0f00]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
mov cl, byte [ebx]
mov dl, cl
mov dword [ebp - 0x38], 1
and dl, 1
mov dword [ebp - 0x40], esi
mov byte [ebp - 0x46], dl
lea edx, [ebp - 8]
cmovne edx, esi
mov dword [ebp - 0x10], ebx
test cl, 2
mov dword [ebp - 0x44], edx
push edi
mov edi, dword [eax]
lea esi, [ebx + 1]
mov eax, dword [eax + 0x124]
mov edx, 0x100
mov dword [ebp - 0x3c], eax
mov eax, 0x21
cmove eax, dword [ebp - 0x38]
add ebx, eax
mov dword [ebp - 0x4c], edi
test cl, 2
mov dword [ebp - 8], 0
mov eax, 0x7fffffff
mov dword [ebp - 0x18], edx
mov ecx, 0
mov dword [ebp - 0xc], 0
cmove ecx, eax
mov dword [ebp - 0x28], 1
mov al, byte [ebx]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], ecx
test al, al
je 0x448853
mov dword [ebp - 0x14], ecx
inc dword [ebp - 0x1c]
mov dword [ebp - 0x2c], ebx
inc ebx
cmp al, 1
jne 0x448453
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x3c], 0
je 0x448437
cmp edx, 0xc0
jb 0x448437
lea eax, [ebx + 1]
mov dword [ebp - 0x34], eax
test dl, 0x20
jne 0x44834f
movzx eax, byte [ebx]
and edx, 0x1f
mov ebx, dword [ebp - 0x34]
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x448437
lea esi, [ebx + 2]
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x50]
test dl, 0x10
jne 0x448381
movzx ecx, byte [ebx]
and edx, 0xf
movzx eax, byte [eax]
and ecx, 0x3f
mov ebx, dword [ebp - 0x24]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
jmp 0x448437
lea eax, [ebx + 3]
mov dword [ebp - 0x14], eax
movzx eax, byte [ebx]
and eax, 0x3f
test dl, 8
jne 0x4483bb
mov ebx, dword [ebp - 0x14]
and edx, 7
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x34]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
or edx, eax
mov eax, dword [ebp - 0x24]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
or edx, eax
jmp 0x448437
lea edi, [ebx + 4]
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x34]
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x24]
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x14]
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x4c]
test dl, 4
jne 0x44840c
mov ebx, dword [ebp - 0x30]
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, dword [ebp - 0x34]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, dword [ebp - 0x14]
jmp 0x448437
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, dword [ebp - 0x34]
shl edx, 6
or edx, dword [ebp - 0x24]
movzx eax, byte [eax]
shl edx, 6
and eax, 0x3f
or edx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
add ebx, 5
mov eax, dword [ebp - 0x18]
cmp edx, eax
cmova eax, edx
cmp edx, ecx
mov dword [ebp - 0x18], eax
cmovb ecx, edx
or dword [ebp - 0xc], 1
mov dword [ebp - 0x14], ecx
jmp 0x448846
cmp al, 2
jne 0x448701
movzx edx, byte [ebx]
inc ebx
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x448582
cmp edx, 0xc0
jb 0x448582
lea eax, [ebx + 1]
mov dword [ebp - 0x24], eax
test dl, 0x20
jne 0x448497
movzx eax, byte [ebx]
and edx, 0x1f
mov ebx, dword [ebp - 0x24]
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x44857f
lea edi, [ebx + 2]
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x4c]
test dl, 0x10
jne 0x4484c9
movzx ecx, byte [ebx]
and edx, 0xf
movzx eax, byte [eax]
and ecx, 0x3f
mov ebx, dword [ebp - 0x34]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
jmp 0x44857f
lea eax, [ebx + 3]
mov dword [ebp - 0x30], eax
movzx eax, byte [ebx]
and eax, 0x3f
test dl, 8
jne 0x448503
mov ebx, dword [ebp - 0x30]
and edx, 7
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x24]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
or edx, eax
mov eax, dword [ebp - 0x34]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
or edx, eax
jmp 0x44857f
lea esi, [ebx + 4]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x24]
movzx esi, byte [esi]
and esi, 0x3f
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x34]
movzx esi, byte [esi]
and esi, 0x3f
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x30]
movzx esi, byte [esi]
and esi, 0x3f
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x50]
test dl, 4
jne 0x448554
mov ebx, dword [ebp - 0x14]
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, dword [ebp - 0x34]
shl edx, 6
or edx, dword [ebp - 0x30]
jmp 0x44857f
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x14]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, dword [ebp - 0x34]
movzx eax, byte [eax]
shl edx, 6
and eax, 0x3f
or edx, dword [ebp - 0x30]
shl edx, 6
or edx, eax
add ebx, 5
mov eax, dword [ebp - 0x3c]
cmp edx, ecx
cmovb ecx, edx
movzx edx, byte [ebx]
inc ebx
mov dword [ebp - 0x14], ecx
test eax, eax
je 0x4486ed
cmp edx, 0xc0
jb 0x4486ed
lea eax, [ebx + 1]
mov dword [ebp - 0x24], eax
test dl, 0x20
jne 0x4485d2
movzx eax, byte [ebx]
and edx, 0x1f
mov ebx, dword [ebp - 0x24]
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
cmova eax, edx
or dword [ebp - 0xc], 1
mov dword [ebp - 0x18], eax
jmp 0x448846
lea esi, [ebx + 2]
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x50]
test dl, 0x10
jne 0x448613
movzx ecx, byte [ebx]
and edx, 0xf
movzx eax, byte [eax]
and ecx, 0x3f
mov ebx, dword [ebp - 0x34]
and eax, 0x3f
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x14]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
cmova eax, edx
or dword [ebp - 0xc], 1
mov dword [ebp - 0x18], eax
jmp 0x448846
lea eax, [ebx + 3]
mov dword [ebp - 0x30], eax
movzx eax, byte [ebx]
and eax, 0x3f
test dl, 8
jne 0x44865f
and edx, 7
mov ebx, dword [ebp - 0x30]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x24]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
or edx, eax
mov eax, dword [ebp - 0x34]
shl edx, 6
movzx eax, byte [eax]
and eax, 0x3f
or edx, eax
mov eax, dword [ebp - 0x18]
cmp edx, eax
cmova eax, edx
or dword [ebp - 0xc], 1
mov dword [ebp - 0x18], eax
jmp 0x448846
lea edi, [ebx + 4]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x24]
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x34]
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x34], edi
mov edi, dword [ebp - 0x30]
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x30], edi
mov edi, dword [ebp - 0x4c]
test dl, 4
jne 0x4486c2
and edx, 3
mov ebx, dword [ebp - 0x2c]
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x18]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, dword [ebp - 0x34]
shl edx, 6
or edx, dword [ebp - 0x30]
cmp edx, eax
cmova eax, edx
or dword [ebp - 0xc], 1
mov dword [ebp - 0x18], eax
jmp 0x448846
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x2c]
shl edx, 6
or edx, dword [ebp - 0x24]
shl edx, 6
or edx, dword [ebp - 0x34]
movzx eax, byte [eax]
shl edx, 6
and eax, 0x3f
or edx, dword [ebp - 0x30]
shl edx, 6
or edx, eax
add ebx, 5
mov eax, dword [ebp - 0x18]
cmp edx, eax
cmova eax, edx
or dword [ebp - 0xc], 1
mov dword [ebp - 0x18], eax
jmp 0x448846
mov dl, byte [ebx]
cmp dl, 0xa
jne 0x44877c
cmp al, 3
jne 0x44877c
movzx eax, byte [ebx + 1]
lea edx, [eax*4 + 0x53cbd8]
mov dword [ebp - 0x30], edx
mov edx, dword [edx]
cmp edx, 0xffffffff
je 0x448760
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x30]
nop word [eax + eax]
mov ecx, eax
lea esi, [esi + 4]
cmp edx, edi
mov eax, edx
cmovbe eax, edi
cmp edx, ecx
mov edi, eax
mov eax, edx
mov edx, dword [esi]
cmovae eax, ecx
cmp edx, 0xffffffff
jne 0x448730
mov esi, dword [ebp - 0x50]
mov ecx, eax
mov dword [ebp - 0x18], edi
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
mov dl, byte [ebx]
movzx eax, dl
cmp eax, 0x10
ja case.default.0x448775
movzx eax, byte [eax + 0x44a47c]
jmp dword [eax*4 + 0x44a45c]
xor ecx, ecx
mov dword [ebp - 0x18], 0x7fffffff
mov dword [ebp - 0x14], ecx
jmp 0x448762
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 3
jne case.default.0x448775
push 0
push dword [ebp - 0x40]
push ebx
push 0xd
push dword [ebp - 0x20]
call fcn.00440d00
mov ebx, dword [ebp - 0x40]
add esp, 0x14
cmp dword [ebp - 0x44], ebx
jne 0x44a446
push 0x22
push edi
call fcn.0047a140
add esp, 8
mov esi, eax
cmp dword [edi], 0
jne 0x44a446
push 8
push edi
call fcn.00451c70
add esp, 8
test eax, eax
je 0x44a446
mov ecx, dword [ebx]
pop edi
mov dword [eax], esi
mov dword [eax + 4], ecx
pop esi
mov dword [ebx], eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
or dword [ebp - 0xc], 4
jmp case.default.0x448775
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
or edx, 0x10
cmp byte [eax], 4
jne 0x448817
or edx, 0x80
mov dword [ebp - 0xc], edx
jmp case.default.0x448775
inc dword [ebp - 0x1c]
or edx, 8
mov dword [ebp - 0xc], edx
jmp case.default.0x448775
mov edx, dword [ebp - 0xc]
or edx, 8
mov dword [ebp - 0xc], edx
jmp case.default.0x448775
or dword [ebp - 0xc], 5
jmp case.default.0x448775
or dword [ebp - 0xc], 1
jmp case.default.0x448775
or dword [ebp - 0xc], 0x20
jmp case.default.0x448775
or dword [ebp - 0xc], 0x40
add ebx, 2
mov al, byte [ebx]
test al, al
jne 0x448305
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x46], 0
je 0x448863
mov eax, dword [ebp - 0x40]
mov ebx, 1
jmp 0x448872
test byte [ebp - 0xc], 0x7c
mov eax, 0
cmovne eax, dword [ebp - 0x40]
xor ebx, ebx
push ebx
mov ebx, dword [ebp - 0x20]
push eax
push edx
push ecx
push ebx
call fcn.00475900
mov eax, dword [ebp - 0x10]
add esp, 0x14
mov cl, byte [eax]
and cl, 2
test byte [eax], 4
jne 0x4489f2
test cl, cl
je 0x4489ab
push 0xff
push 0x40
push 0
push 1
push 4
push edi
call fcn.00478e00
mov ebx, eax
lea ecx, [ebp - 8]
mov eax, dword [ebp - 0x10]
push ecx
push 1
movzx eax, byte [eax + 0x20]
shr eax, 7
push eax
push esi
push dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
call fcn.0046c590
add esp, 0x2c
test eax, eax
jne 0x44896c
lea eax, [ebp - 8]
push eax
push 1
push dword [ebp - 0x2c]
push esi
push dword [ebp - 0x20]
call fcn.0046c310
add esp, 0x14
test eax, eax
jne 0x44896c
push 7
push 0x40
push eax
push 1
push eax
push 3
push 0x65
push edi
call fcn.0047a650
push 3
push 0x40
push 0
push 1
push 0
push 1
push 0x6a
push edi
call fcn.0047a650
add esp, 0x40
push esi
push 0x81
push 0
push 1
push 0x21
push edi
call fcn.0047a410
push 0
push 3
push 1
push 0x40
push 0
push 3
push 0x68
push edi
call fcn.0047a650
push 0
push 3
push 0
push 1
push 0x265
push edi
call fcn.0047a9f0
add esp, 0x50
push 1
push edi
call fcn.0047a140
push eax
lea eax, [ebp - 8]
push eax
push edi
call fcn.004343c0
add esp, 0x14
push 0x22
push edi
call fcn.0047a140
push eax
push dword [ebp - 0x40]
push edi
call fcn.004343c0
push edi
call fcn.0047a1d0
add esp, 0x18
test ebx, ebx
je 0x448b1e
test eax, eax
je 0x448b1e
mov ecx, dword [ebx + 8]
and ecx, 0xfffffffd
mov dword [ebx + 0xc], eax
or ecx, 1
mov dword [ebx + 8], ecx
jmp 0x448b1e
mov ebx, dword [ebp - 0x14]
push ebx
push 0x40
push 0
push 1
push 0
push 3
push 0x62
push edi
call fcn.0047a650
mov eax, dword [ebp - 0x18]
sub eax, ebx
push eax
push 0x40
push 0
push 3
push 4
push edi
call fcn.00478e00
push eax
mov eax, dword [ebp - 0x10]
test byte [eax], 1
lea eax, [ebp - 8]
cmove eax, dword [ebp - 0x40]
push eax
push edi
call fcn.004343c0
add esp, 0x44
jmp 0x448b24
test cl, cl
je 0x448b24
push 0
push 1
push 0
push 5
push 0x20
push edi
call fcn.0047a410
push dword [ebp - 0x44]
or dword [ebp - 0xc], 2
push 1
push 0
push esi
push ebx
call fcn.0046c590
add esp, 0x2c
test eax, eax
jne 0x448b0b
push dword [ebp - 0x44]
push 1
push eax
push esi
push ebx
call fcn.0046c310
add esp, 0x14
test eax, eax
jne 0x448b0b
mov eax, dword [ebp - 0x20]
xor ebx, ebx
cmp dword [eax + 0x124], ebx
je 0x448a63
push 0xff
push 0x40
push ebx
push 1
push 4
push edi
call fcn.00478e00
add esp, 0x18
mov ebx, eax
push 7
push 0x40
push 0
push 1
push 0
push 3
push 0x65
push edi
call fcn.0047a650
push 3
push 0x40
push 0
push 1
push 0
push 1
push 0x6a
push edi
call fcn.0047a650
add esp, 0x40
push esi
push 0x81
push 0
push 1
push 0x21
push edi
call fcn.0047a410
push 0
push 3
push 1
push 0x40
push 0
push 3
push 0x68
push edi
call fcn.0047a650
push 0
push 3
push 0
push 1
push 0x265
push edi
call fcn.0047a9f0
add esp, 0x50
push 1
push edi
call fcn.0047a140
push eax
push dword [ebp - 0x44]
push edi
call fcn.004343c0
mov eax, dword [ebp - 0x20]
add esp, 0x14
cmp dword [eax + 0x124], 0
je 0x448b0b
push edi
call fcn.0047a1d0
add esp, 4
test ebx, ebx
je 0x448b0b
test eax, eax
je 0x448b0b
mov ecx, dword [ebx + 8]
and ecx, 0xfffffffd
mov dword [ebx + 0xc], eax
or ecx, 1
mov dword [ebx + 8], ecx
push 0
push 5
push 0
push 1
push 0x20
push edi
call fcn.0047a410
add esp, 0x18
mov esi, dword [ebp - 0x10]
add esi, 0x21
mov eax, dword [ebp - 0xc]
mov ecx, esi
mov dword [ebp - 0x10], ecx
test al, 0x7c
je 0x4494da
and al, 3
cmp al, 1
jne 0x448b4d
push 0
push 1
push 0
push 5
push 0x20
push edi
call fcn.0047a410
add esp, 0x18
push 7
push 0x40
push 0
push 1
push 0
push 3
push 0x6a
push edi
call fcn.0047a650
push 1
push 0x40
push 0
push 3
push 0
push 3
push 0x68
push edi
call fcn.0047a650
add esp, 0x40
push 0x5413e0
push 0x83
push 0
push 3
push 0x23
push edi
call fcn.0047a410
push 0x7f
push 0x40
push 0
push 1
push 0
push 1
push 0x65
push edi
call fcn.0047a650
push 7
push 0x40
push 0
push 3
push 0
push 3
push 0x68
push edi
call fcn.0047a650
add esp, 0x58
push 0
push 3
push 0
push 1
push 0
push 1
push 0x60
push edi
call fcn.0047a650
push 0x5457e0
push 0x40
push 0
push 3
push 0x20
push edi
call fcn.0047a410
push 1
push 0x183
push 0
push 3
push 0x23
push edi
call fcn.0047a410
add esp, 0x50
push 3
push 0x40
push 0
push 3
push 0
push 1
push 0x68
push edi
call fcn.0047a650
push 2
push 0x40
push 0
push 3
push 0
push 3
push 0x68
push edi
call fcn.0047a650
add esp, 0x40
push 0
push 1
push 0
push 3
push 0
push 3
push 0x60
push edi
call fcn.0047a650
mov ebx, dword [ebp - 0xc]
add esp, 0x20
test bl, 0x40
je 0x448de3
push 0x53d1b0
push 0x83
push 0
push 1
push 0x23
push edi
call fcn.0047a410
push 0xb
push 0x40
push 0
push 1
push 0
push 1
push 0x6a
push edi
call fcn.0047a650
mov cl, byte [esi]
add esp, 0x38
test cl, cl
je 0x448de3
nop dword [eax + eax]
cmp cl, 1
jne 0x448ccf
movzx eax, byte [esi + 1]
add esi, 2
cmp dword [ebp - 0x3c], 0
je 0x448dd6
cmp eax, 0xc0
jb 0x448dd6
test al, 0x20
jne 0x448cab
inc esi
jmp 0x448dd6
test al, 0x10
jne 0x448cb7
add esi, 2
jmp 0x448dd6
test al, 8
je 0x448dd3
test al, 4
jne 0x448d66
add esi, 4
jmp 0x448dd6
cmp cl, 2
jne 0x448d6b
mov edx, dword [ebp - 0x3c]
movzx eax, byte [esi + 1]
test edx, edx
je 0x448d27
cmp eax, 0xc0
jb 0x448d27
test al, 0x20
jne 0x448cf7
movzx ecx, byte [esi + 3]
add esi, 4
jmp 0x448d36
test al, 0x10
jne 0x448d04
movzx ecx, byte [esi + 4]
add esi, 5
jmp 0x448d36
test al, 8
jne 0x448d11
movzx ecx, byte [esi + 5]
add esi, 6
jmp 0x448d36
test al, 4
jne 0x448d1e
movzx ecx, byte [esi + 6]
add esi, 7
jmp 0x448d36
movzx ecx, byte [esi + 7]
add esi, 8
jmp 0x448d36
movzx ecx, byte [esi + 2]
add esi, 3
test edx, edx
je 0x448dd6
cmp ecx, 0xc0
jb 0x448dd6
test cl, 0x20
jne 0x448d4d
inc esi
jmp 0x448dd6
test cl, 0x10
jne 0x448d57
add esi, 2
jmp 0x448dd6
test cl, 8
je 0x448dd3
test cl, 4
jne 0x448d66
add esi, 4
jmp 0x448dd6
add esi, 5
jmp 0x448dd6
cmp byte [esi + 1], 0xc
jne 0x448dd3
sub dword [ebp - 0x1c], 1
mov ebx, dword [ebp - 0x40]
jne 0x448d86
cmp dword [ebp - 0x44], ebx
je 0x448d86
mov edx, 1
jmp 0x448d88
xor edx, edx
movzx eax, byte [esi + 2]
push eax
push 0x40
mov eax, edx
xor eax, 1
cmp cl, 4
push 0
push 1
cmovne eax, edx
push eax
push edi
call fcn.00478e00
add esp, 0x18
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x1c], 0
cmovg ebx, dword [ebp - 0x44]
cmp dword [edi], 0
jne 0x448dd3
push 8
push edi
call fcn.00451c70
add esp, 8
test eax, eax
je 0x448dd3
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov dword [ebx], eax
add esi, 3
mov cl, byte [esi]
test cl, cl
jne 0x448c80
mov ebx, dword [ebp - 0xc]
test bl, 0x20
je 0x448fed
push 0x53d1b2
push 0x83
push 0
push 1
push 0x23
push edi
call fcn.0047a410
push 0xfff
push 0x40
push 0
push 1
push 0
push 1
push 0x65
push edi
call fcn.0047a650
push 2
push 0x40
push 0
push 1
push 0
push 1
push 0x68
push edi
call fcn.0047a650
mov eax, dword [ebp - 0x10]
add esp, 0x58
mov bl, byte [eax]
test bl, bl
je 0x448fea
mov esi, eax
nop
cmp bl, 1
jne 0x448e8f
movzx eax, byte [esi + 1]
add esi, 2
cmp dword [ebp - 0x3c], 0
je 0x448fe0
cmp eax, 0xc0
jb 0x448fe0
test al, 0x20
jne 0x448e6b
inc esi
jmp 0x448fe0
test al, 0x10
jne 0x448e77
add esi, 2
jmp 0x448fe0
test al, 8
je 0x448fdd
test al, 4
jne 0x448f30
add esi, 4
jmp 0x448fe0
cmp bl, 2
jne 0x448f38
mov edx, dword [ebp - 0x3c]
movzx eax, byte [esi + 1]
test edx, edx
je 0x448ee7
cmp eax, 0xc0
jb 0x448ee7
test al, 0x20
jne 0x448eb7
movzx ecx, byte [esi + 3]
add esi, 4
jmp 0x448ef6
test al, 0x10
jne 0x448ec4
movzx ecx, byte [esi + 4]
add esi, 5
jmp 0x448ef6
test al, 8
jne 0x448ed1
movzx ecx, byte [esi + 5]
add esi, 6
jmp 0x448ef6
test al, 4
jne 0x448ede
movzx ecx, byte [esi + 6]
add esi, 7
jmp 0x448ef6
movzx ecx, byte [esi + 7]
add esi, 8
jmp 0x448ef6
movzx ecx, byte [esi + 2]
add esi, 3
test edx, edx
je 0x448fe0
cmp ecx, 0xc0
jb 0x448fe0
test cl, 0x20
jne 0x448f0d
inc esi
jmp 0x448fe0
test cl, 0x10
jne 0x448f1a
add esi, 2
jmp 0x448fe0
test cl, 8
je 0x448fdd
test cl, 4
jne 0x448f30
add esi, 4
jmp 0x448fe0
add esi, 5
jmp 0x448fe0
cmp byte [esi + 1], 0xd
jne 0x448fdd
sub dword [ebp - 0x1c], 1
jne 0x448f60
mov eax, dword [ebp - 0x44]
cmp eax, dword [ebp - 0x40]
je 0x448f60
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x30], 0
jmp 0x448f6c
xor eax, eax
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x2c], eax
movzx eax, byte [esi + 2]
mov edx, dword [ebp - 0x38]
mov ecx, eax
shr eax, 5
and ecx, 0x1f
shl edx, cl
cmp dword [edi], 0
lea eax, [eax*4 + 0x53c650]
jne 0x448f9b
push edx
push 0x40
push eax
push 0x81
push edi
call fcn.00451390
add esp, 0x14
mov eax, dword [ebp - 0x2c]
cmp bl, 4
cmovne eax, dword [ebp - 0x30]
push eax
push edi
call fcn.0047a140
mov ebx, dword [ebp - 0x40]
add esp, 8
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], eax
cmovg ebx, dword [ebp - 0x44]
cmp dword [edi], 0
jne 0x448fdd
push 8
push edi
call fcn.00451c70
add esp, 8
test eax, eax
je 0x448fdd
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov dword [ebx], eax
add esi, 3
mov bl, byte [esi]
test bl, bl
jne 0x448e40
mov ebx, dword [ebp - 0xc]
test bl, 8
je 0x44918c
push 0x53d1a8
push 0x83
push 0
push 1
push 0x21
push edi
call fcn.0047a410
mov ebx, dword [ebp - 0x10]
add esp, 0x18
mov cl, byte [ebx]
test cl, cl
je 0x44918f
mov esi, ebx
nop
movzx eax, byte [esi + 1]
cmp cl, 1
jne 0x44906f
add esi, 2
cmp dword [ebp - 0x3c], 0
je 0x449182
cmp eax, 0xc0
jb 0x449182
test al, 0x20
jne 0x44904b
inc esi
jmp 0x449182
test al, 0x10
jne 0x449057
add esi, 2
jmp 0x449182
test al, 8
je 0x44917f
test al, 4
jne 0x449109
add esi, 4
jmp 0x449182
cmp cl, 2
jne 0x44910e
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x4490c3
cmp eax, 0xc0
jb 0x4490c3
test al, 0x20
jne 0x449093
movzx ecx, byte [esi + 3]
add esi, 4
jmp 0x4490d2
test al, 0x10
jne 0x4490a0
movzx ecx, byte [esi + 4]
add esi, 5
jmp 0x4490d2
test al, 8
jne 0x4490ad
movzx ecx, byte [esi + 5]
add esi, 6
jmp 0x4490d2
test al, 4
jne 0x4490ba
movzx ecx, byte [esi + 6]
add esi, 7
jmp 0x4490d2
movzx ecx, byte [esi + 7]
add esi, 8
jmp 0x4490d2
movzx ecx, byte [esi + 2]
add esi, 3
test edx, edx
je 0x449182
cmp ecx, 0xc0
jb 0x449182
test cl, 0x20
jne 0x4490e9
inc esi
jmp 0x449182
test cl, 0x10
jne 0x4490f6
add esi, 2
jmp 0x449182
test cl, 8
je 0x44917f
test cl, 4
jne 0x449109
add esi, 4
jmp 0x449182
add esi, 5
jmp 0x449182
sub eax, 4
je 0x44911d
sub eax, 1
jne 0x44917f
cmp cl, 4
je 0x44917f
sub dword [ebp - 0x1c], 1
mov ebx, dword [ebp - 0x40]
jne 0x449132
cmp dword [ebp - 0x44], ebx
je 0x449132
mov edx, 1
jmp 0x449134
xor edx, edx
movzx eax, byte [esi + 2]
push eax
push 0x40
mov eax, edx
xor eax, 1
cmp cl, 4
push 0
push 1
cmovne eax, edx
push eax
push edi
call fcn.00478e00
add esp, 0x18
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x1c], 0
cmovg ebx, dword [ebp - 0x44]
cmp dword [edi], 0
jne 0x44917f
push 8
push edi
call fcn.00451c70
add esp, 8
test eax, eax
je 0x44917f
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov dword [ebx], eax
add esi, 3
mov cl, byte [esi]
test cl, cl
jne 0x449020
mov ebx, dword [ebp - 0x10]
test byte [ebp - 0xc], 0x10
je 0x449493
push 0x53d1b0
push 0x83
push 0
push 1
push 0x23
push edi
call fcn.0047a410
push 0x3ff
push 0x40
push 0
push 1
push 0
push 1
push 0x65
push edi
call fcn.0047a650
push 2
push 0x40
push 0
push 1
push 0
push 1
push 0x68
push edi
call fcn.0047a650
mov eax, dword [ebp - 0xc]
add esp, 0x58
test al, al
jns 0x449238
test al, 4
je 0x44921f
push 0
push 3
push 0
test al, 1
je 0x44920b
push 0x8d
push 0x20
push edi
call fcn.0047a410
add esp, 0x18
or dword [ebp - 0xc], 0x200
jmp 0x44921f
push 5
push 0x20
push edi
call fcn.0047a410
add esp, 0x18
or dword [ebp - 0xc], 0x100
push 0x53d1a8
push 0x83
push 0
push 3
push 0x21
push edi
call fcn.0047a410
add esp, 0x18
mov al, byte [ebx]
test al, al
je 0x449453
mov esi, ebx
cmp al, 1
jne 0x449292
movzx eax, byte [esi + 1]
add esi, 2
cmp dword [ebp - 0x3c], 0
je 0x449449
cmp eax, 0xc0
jb 0x449449
test al, 0x20
jne 0x44926e
inc esi
jmp 0x449449
test al, 0x10
jne 0x44927a
add esi, 2
jmp 0x449449
test al, 8
je 0x449446
test al, 4
jne 0x449332
add esi, 4
jmp 0x449449
cmp al, 2
jne 0x44933a
mov edx, dword [ebp - 0x3c]
movzx eax, byte [esi + 1]
test edx, edx
je 0x4492e9
cmp eax, 0xc0
jb 0x4492e9
test al, 0x20
jne 0x4492b9
movzx ecx, byte [esi + 3]
add esi, 4
jmp 0x4492f8
test al, 0x10
jne 0x4492c6
movzx ecx, byte [esi + 4]
add esi, 5
jmp 0x4492f8
test al, 8
jne 0x4492d3
movzx ecx, byte [esi + 5]
add esi, 6
jmp 0x4492f8
test al, 4
jne 0x4492e0
movzx ecx, byte [esi + 6]
add esi, 7
jmp 0x4492f8
movzx ecx, byte [esi + 7]
add esi, 8
jmp 0x4492f8
movzx ecx, byte [esi + 2]
add esi, 3
test edx, edx
je 0x449449
cmp ecx, 0xc0
jb 0x449449
test cl, 0x20
jne 0x44930f
inc esi
jmp 0x449449
test cl, 0x10
jne 0x44931c
add esi, 2
jmp 0x449449
test cl, 8
je 0x449446
test cl, 4
jne 0x449332
add esi, 4
jmp 0x449449
add esi, 5
jmp 0x449449
cmp byte [esi + 1], 5
jne 0x449446
sub dword [ebp - 0x1c], 1
jne 0x449359
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [ebp - 0x40]
je 0x449359
mov edx, 1
jmp 0x44935b
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x20], edx
cmp al, 4
jne 0x4493ac
movzx eax, byte [esi + 2]
push eax
push 0x40
push ebx
push 3
push ebx
push edi
call fcn.00478e00
mov edx, dword [ebp - 0x20]
add esp, 0x18
mov ebx, eax
test edx, edx
je 0x4493a6
cmp dword [edi], 0
jne 0x4493a4
push 8
push edi
call fcn.00451c70
add esp, 8
test eax, eax
je 0x4493a1
mov edx, dword [ebp - 0x40]
mov ecx, dword [edx]
mov dword [eax + 4], ecx
mov dword [eax], ebx
mov dword [edx], eax
mov edx, dword [ebp - 0x20]
xor ebx, ebx
xor edx, 1
mov dword [ebp - 0x20], edx
movzx eax, byte [esi + 2]
mov ecx, eax
mov dword [ebp - 0x24], 1
shr eax, 5
and ecx, 0x1f
shl dword [ebp - 0x24], cl
cmp dword [edi], 0
lea eax, [eax*4 + 0x53cea8]
jne 0x4493e5
push dword [ebp - 0x24]
push 0x40
push eax
push 0x81
push edi
call fcn.00451390
mov edx, dword [ebp - 0x20]
add esp, 0x14
xor edx, 1
push edx
push edi
call fcn.0047a140
add esp, 8
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x40]
cmovg eax, dword [ebp - 0x44]
cmp dword [edi], 0
mov dword [ebp - 0x38], eax
jne 0x449426
push 8
push edi
call fcn.00451c70
add esp, 8
test eax, eax
je 0x449426
mov edx, dword [ebp - 0x38]
mov ecx, dword [edx]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov dword [edx], eax
test ebx, ebx
je 0x449446
push edi
call fcn.0047a1d0
add esp, 4
test eax, eax
je 0x449446
mov ecx, dword [ebx + 8]
and ecx, 0xfffffffd
mov dword [ebx + 0xc], eax
or ecx, 1
mov dword [ebx + 8], ecx
add esi, 3
mov al, byte [esi]
test al, al
jne 0x449244
mov ebx, dword [ebp - 0xc]
test ebx, 0x200
je 0x449476
push 0
push 0x8d
push 0
push 3
push 0x20
push edi
call fcn.0047a410
add esp, 0x18
jmp 0x449496
test ebx, 0x100
je 0x449496
push 0
push 5
push 0
push 3
push 0x20
push edi
call fcn.0047a410
add esp, 0x18
jmp 0x449496
mov ebx, dword [ebp - 0xc]
mov esi, ebx
and esi, 1
je 0x4494b0
push 0
push 5
push 0
push 1
push 0x20
push edi
call fcn.0047a410
add esp, 0x18
test bl, 4
je 0x4494d7
push 0x53d1a9
push 0x83
lea eax, [esi*4 + 1]
push 0
push eax
push 0x21
push edi
mov dword [ebp - 0x28], eax
call fcn.0047a410
add esp, 0x18
mov ecx, dword [ebp - 0x10]
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
cmp byte [ecx], bl
je 0x44a40e
mov eax, dword [ebp - 0x1c]
mov edx, eax
sub eax, 1
mov dword [ebp - 0x1c], eax
jne 0x449509
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], 1
cmp eax, dword [ebp - 0x40]
jne 0x449510
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
xor esi, esi
cmp al, 1
jne 0x449724
movzx edx, byte [ecx + 1]
add ecx, 2
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x3c], esi
je 0x449624
cmp edx, 0xc0
jb 0x449624
lea esi, [ecx + 1]
test dl, 0x20
jne 0x449558
movzx eax, byte [ecx]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
mov ecx, esi
jmp 0x449621
lea ebx, [ecx + 2]
test dl, 0x10
jne 0x449580
movzx ecx, byte [ecx]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
mov ecx, ebx
shl edx, 6
or edx, eax
jmp 0x44961e
mov eax, dword [ebp - 0x10]
add ecx, 3
mov dword [ebp - 0x2c], ecx
movzx eax, byte [eax]
and eax, 0x3f
test dl, 8
jne 0x4495b4
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ebx]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x44961e
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov dword [ebp - 0x38], ecx
movzx ecx, byte [esi]
movzx esi, byte [ebx]
and ecx, 0x3f
mov ebx, dword [ebp - 0x2c]
and esi, 0x3f
movzx ebx, byte [ebx]
and ebx, 0x3f
test dl, 4
jne 0x4495f3
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x38]
shl edx, 6
or edx, esi
shl edx, 6
or edx, ebx
jmp 0x44961e
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x38]
shl edx, 6
or edx, ecx
mov ecx, dword [ebp - 0x10]
shl edx, 6
movzx eax, byte [eax]
or edx, esi
shl edx, 6
and eax, 0x3f
or edx, ebx
shl edx, 6
or edx, eax
add ecx, 5
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp - 0x20]
cmp esi, 3
jge 0x449696
mov al, byte [ecx]
cmp al, 1
je 0x449636
cmp al, 2
jne 0x449696
sub edx, ebx
cmp dword [edi], 0
jne 0x44966f
cmp edx, 0x7f
jg 0x449663
cmp edx, 0xffffff80
jl 0x449663
push 0
push 1
push edx
push 0x40
push 0x11
push edi
call fcn.00451600
add esp, 0x18
test eax, eax
je 0x44966f
or byte [eax + 1], 0x38
jmp 0x44966f
push edx
push 0x3d
push edi
call fcn.0044fec0
add esp, 0xc
push 0
test esi, esi
push 0
mov ecx, 0x20
mov eax, 0x66
push 3
cmove eax, ecx
push eax
push edi
call fcn.0047ab00
add esp, 0x14
inc dword [ebp - 0x20]
jmp 0x44a3ff
sub edx, ebx
test esi, esi
jle 0x449702
cmp dword [edi], 0
jne 0x4496d3
cmp edx, 0x7f
jg 0x4496c7
cmp edx, 0xffffff80
jl 0x4496c7
push 0
push 1
push edx
push 0x40
push 0x11
push edi
call fcn.00451600
add esp, 0x18
test eax, eax
je 0x4496d3
or byte [eax + 1], 0x38
jmp 0x4496d3
push edx
push 0x3d
push edi
call fcn.0044fec0
add esp, 0xc
push 0
push 0
push 3
push 0x266
push edi
call fcn.0047ab00
mov eax, dword [ebp - 0x18]
xor eax, 1
push eax
push edi
call fcn.0047a140
add esp, 0x1c
mov dword [ebp - 0x20], 0
mov esi, eax
jmp 0x44a3cb
mov eax, dword [ebp - 0x18]
push edx
push 0x40
push 0
push 1
push eax
push edi
call fcn.00478e00
add esp, 0x18
mov dword [ebp - 0x20], 0
mov esi, eax
jmp 0x44a3cb
cmp al, 2
jne 0x449a31
movzx ebx, byte [ecx + 1]
add ecx, 2
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x3c], esi
je 0x449833
cmp ebx, 0xc0
jb 0x449833
lea edx, [ecx + 1]
test bl, 0x20
jne 0x449768
movzx eax, byte [ecx]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov esi, edx
jmp 0x449836
lea esi, [ecx + 2]
test bl, 0x10
jne 0x44978e
movzx ecx, byte [ecx]
and ebx, 0xf
movzx eax, byte [edx]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
shl ebx, 6
or ebx, eax
jmp 0x449836
mov eax, dword [ebp - 0x10]
add ecx, 3
mov dword [ebp - 0x2c], ecx
movzx eax, byte [eax]
and eax, 0x3f
test bl, 8
jne 0x4497c7
and ebx, 7
shl ebx, 6
or ebx, eax
movzx eax, byte [edx]
and eax, 0x3f
shl ebx, 6
or ebx, eax
movzx eax, byte [esi]
shl ebx, 6
and eax, 0x3f
or ebx, eax
mov esi, ecx
jmp 0x449836
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov dword [ebp - 0x38], ecx
movzx ecx, byte [edx]
movzx edx, byte [esi]
and ecx, 0x3f
mov esi, dword [ebp - 0x2c]
and edx, 0x3f
movzx esi, byte [esi]
and esi, 0x3f
test bl, 4
jne 0x449806
and ebx, 3
shl ebx, 6
or ebx, eax
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
shl ebx, 6
or ebx, esi
mov esi, dword [ebp - 0x38]
jmp 0x449836
and ebx, 1
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x38]
shl ebx, 6
or ebx, ecx
shl ebx, 6
movzx eax, byte [eax]
or ebx, edx
shl ebx, 6
and eax, 0x3f
or ebx, esi
mov esi, dword [ebp - 0x10]
shl ebx, 6
or ebx, eax
add esi, 5
jmp 0x449836
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
cmp ebx, ecx
je 0x44986a
jae 0x449850
sub ecx, ebx
push ecx
push 0x40
push 0
push 1
push 0
push 1
push 0x60
jmp 0x449861
mov eax, ebx
sub eax, ecx
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
movzx edx, byte [esi]
inc esi
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], esi
je 0x449984
cmp edx, 0xc0
jb 0x449984
mov eax, dword [ebp - 0x10]
inc esi
test dl, 0x20
jne 0x4498a6
movzx eax, byte [eax]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
jmp 0x449981
lea ecx, [eax + 2]
mov dword [ebp - 0x38], ecx
test dl, 0x10
jne 0x4498d2
movzx ecx, byte [eax]
and edx, 0xf
movzx eax, byte [esi]
and ecx, 0x3f
mov esi, dword [ebp - 0x38]
and eax, 0x3f
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
jmp 0x449981
add eax, 3
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
and eax, 0x3f
test dl, 8
jne 0x44990c
and edx, 7
shl edx, 6
or edx, eax
movzx eax, byte [esi]
mov esi, dword [ebp - 0x2c]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [ecx]
shl edx, 6
and eax, 0x3f
or edx, eax
jmp 0x449981
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x2c]
add ecx, 4
mov dword [ebp - 0x30], ecx
movzx ecx, byte [esi]
mov esi, dword [ebp - 0x38]
and ecx, 0x3f
movzx edi, byte [edi]
and edi, 0x3f
mov dword [ebp - 0x38], edi
movzx esi, byte [esi]
mov edi, dword [ebp - 0x4c]
and esi, 0x3f
test dl, 4
jne 0x449955
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, esi
mov esi, dword [ebp - 0x30]
shl edx, 6
or edx, dword [ebp - 0x38]
jmp 0x449981
and edx, 1
shl edx, 6
or edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 6
or edx, ecx
shl edx, 6
movzx eax, byte [eax]
or edx, esi
mov esi, dword [ebp - 0x10]
and eax, 0x3f
shl edx, 6
or edx, dword [ebp - 0x38]
shl edx, 6
or edx, eax
add esi, 5
mov dword [ebp - 0x10], esi
mov ecx, dword [ebp - 0x20]
cmp ecx, 3
jge 0x4499bc
mov al, byte [esi]
cmp al, 1
je 0x449996
cmp al, 2
jne 0x4499bc
mov ebx, dword [ebp - 0xc]
sub edx, ebx
cmp dword [edi], 0
jne 0x4499b3
push edx
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
mov ecx, dword [ebp - 0x20]
add esp, 0x14
push 5
test ecx, ecx
jmp 0x449673
sub edx, ebx
test ecx, ecx
jle 0x449a09
cmp dword [edi], 0
jne 0x4499d7
push edx
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 5
push 0
push 3
push 0x266
push edi
call fcn.0047ab00
mov eax, dword [ebp - 0x18]
xor eax, 1
push eax
push edi
call fcn.0047a140
mov ebx, dword [ebp - 0xc]
add esp, 0x1c
mov esi, eax
mov dword [ebp - 0x20], 0
jmp 0x44a3cb
mov eax, dword [ebp - 0x18]
push edx
push 0x40
push 0
push 1
xor eax, 5
push eax
push edi
call fcn.00478e00
mov ebx, dword [ebp - 0xc]
add esp, 0x18
mov esi, eax
mov dword [ebp - 0x20], 0
jmp 0x44a3cb
cmp al, 4
jne 0x449a39
xor dword [ebp - 0x18], 1
movzx eax, byte [ecx + 1]
inc ecx
mov dword [ebp - 0x10], ecx
cmp eax, 0x10
ja case.default.0x449a4a
jmp dword [eax*4 + 0x44a490]
cmp dword [ebp - 0x18], esi
jne case.default.0x449a4a
push 0x22
push edi
call fcn.0047a140
add esp, 8
jmp 0x44a3c5
mov esi, dword [ebp - 0x14]
mov eax, 9
sub eax, esi
push eax
push 0x40
push 0
push dword [ebp - 0x28]
push 0x262
push edi
call fcn.0047a9f0
push 0
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
mov eax, 5
sub eax, esi
push eax
push 0x40
push 0
push dword [ebp - 0x28]
push 0x262
push edi
call fcn.0047a9f0
add esp, 0x44
push 0
push 0
push 3
push 0x66
push edi
call fcn.0047ab00
mov eax, 8
sub eax, esi
push eax
push 0x40
push 0
push dword [ebp - 0x28]
push 0x262
push edi
call fcn.0047a9f0
push 0
push 0
push 3
push 0x266
push edi
call fcn.0047ab00
add esp, 0x40
mov eax, dword [ebp - 0x18]
xor eax, 1
push eax
push edi
call fcn.0047a140
add esp, 8
jmp 0x44a3c5
movzx eax, byte [ecx + 1]
mov edx, dword [ebp - 0x14]
mov esi, dword [eax*8 + 0x558458]
cmp esi, edx
je 0x449b47
jae 0x449b29
mov eax, dword [ebp - 0x28]
sub edx, esi
push edx
push 0x40
push 0
push eax
push 0
push eax
push 0x60
jmp 0x449b3b
mov eax, esi
sub eax, edx
push eax
mov eax, dword [ebp - 0x28]
push 0x40
push 0
push eax
push 0
push eax
push 0x62
push edi
call fcn.0047a650
mov ecx, dword [ebp - 0x10]
add esp, 0x20
movzx eax, byte [ecx + 1]
mov dword [ebp - 0x14], esi
mov eax, dword [eax*8 + 0x55845c]
sub eax, esi
push eax
mov eax, dword [ebp - 0x18]
push 0x40
push 0
push dword [ebp - 0x28]
xor eax, 5
push eax
push edi
call fcn.00478e00
add esp, 0x18
jmp 0x44a3c5
movzx eax, byte [ecx + 1]
sub eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x18]
push 0x40
push 0
push dword [ebp - 0x28]
push eax
push edi
call fcn.00478e00
add esp, 0x18
jmp 0x44a3c5
mov dword [ebp - 0x1c], edx
jmp case.default.0x449a4a
cmp ebx, 9
je 0x449bd3
jbe 0x449bb6
lea eax, [ebx - 9]
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x60
jmp 0x449bca
mov eax, 9
sub eax, ebx
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
mov ebx, 9
mov dword [ebp - 0xc], ebx
cmp dword [edi], esi
jne 0x449bf0
push 4
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 5
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
add esp, 0x14
cmp dword [edi], esi
jne 0x449c16
push 0x7c
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x66
push edi
call fcn.0047ab00
add esp, 0x14
cmp dword [edi], esi
jne 0x449c3f
push 0x1805
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x66
push edi
call fcn.0047ab00
mov ecx, dword [ebp - 0x14]
add esp, 0x14
cmp ecx, 0x1b
je 0x449c8b
jbe 0x449c6d
lea eax, [ecx - 0x1b]
push eax
mov eax, dword [ebp - 0x28]
push 0x40
push 0
push eax
push 0
push eax
push 0x60
jmp 0x449c82
mov eax, 0x1b
sub eax, ecx
push eax
mov eax, dword [ebp - 0x28]
push 0x40
push 0
push eax
push 0
push eax
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
push 2
push 0x40
push 0
push dword [ebp - 0x28]
mov dword [ebp - 0x14], 0x1b
push 0x1462
push edi
call fcn.0047a9f0
push 5
push 0
push 3
push 0x266
push edi
call fcn.0047ab00
mov eax, dword [ebp - 0x18]
xor eax, 1
push eax
push edi
call fcn.0047a140
add esp, 0x34
jmp 0x44a3c5
mov eax, 0x5f
sub eax, ebx
cmp dword [edi], esi
jne 0x449ce7
push eax
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
add esp, 0x14
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
cmp ecx, 5
je 0x449d30
jbe 0x449d15
lea eax, [ecx - 5]
push eax
push 0x40
push 0
push esi
push 0
push esi
push 0x60
jmp 0x449d27
mov eax, 5
sub eax, ecx
push eax
push 0x40
push 0
push esi
push 0
push esi
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
push 4
push 0x40
push 0
push esi
push 0x1462
push edi
call fcn.0047a9f0
mov ecx, dword [ebp - 0x10]
mov eax, 0x66
push 5
push 0
push 3
cmp byte [ecx], 6
mov ecx, 0x20
cmove eax, ecx
push eax
push edi
call fcn.0047ab00
push 8
push 0x40
push 0
push esi
push 0
push esi
push 0x62
push edi
call fcn.0047a650
add esp, 0x4c
mov dword [ebp - 0x14], 0xd
push 2
push 0x40
push 0
push esi
jmp 0x449c9b
movzx eax, byte [ecx + 1]
mov ecx, dword [eax*4 + 0x53cbdc]
lea esi, [eax*4 + 0x53cbd8]
mov edx, dword [esi]
xor ecx, edx
lea eax, [ecx - 1]
test ecx, eax
jne 0x449e09
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x449db5
mov eax, 1
jmp 0x449dd5
push eax
push 0x40
push 0
push 1
push 0
push 3
push 0x60
push edi
call fcn.0047a650
mov ecx, dword [esi]
add esp, 0x20
xor ecx, dword [esi + 4]
mov eax, 3
push ecx
push 0x40
push 0
push eax
push 0
push 3
push 0x66
push edi
call fcn.0047a650
add esp, 0x20
cmp dword [edi], 0
jne 0x449e01
push dword [esi + 4]
push 0x40
push 0
push 3
push edi
call fcn.0044fa00
add esp, 0x14
add esi, 8
jmp 0x449ed1
mov ecx, dword [esi + 8]
xor ecx, dword [esi + 4]
lea eax, [ecx - 1]
test ecx, eax
jne 0x449eb6
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x449e28
mov eax, 1
jmp 0x449e48
push eax
push 0x40
push 0
push 1
push 0
push 3
push 0x60
push edi
call fcn.0047a650
mov ecx, dword [esi]
add esp, 0x20
xor ecx, dword [esi + 4]
mov eax, 3
push ecx
push 0x40
push 0
push eax
push 0
push 3
push 0x66
push edi
call fcn.0047a650
add esp, 0x20
cmp dword [edi], 0
jne 0x449e74
push dword [esi + 8]
push 0x40
push 0
push 3
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
mov eax, dword [esi]
add esp, 0x14
mov ebx, dword [ebp - 0xc]
sub eax, ebx
cmp dword [edi], 0
jne 0x449ea1
push eax
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
add esi, 0xc
mov eax, 0x66
mov ecx, 0x266
cmp dword [esi], 0xffffffff
cmove eax, ecx
jmp 0x449ed9
sub edx, dword [ebp - 0xc]
cmp dword [edi], 0
jne 0x449ece
push edx
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
add esi, 4
mov ebx, dword [ebp - 0xc]
mov eax, 0x20
push 0
push 0
push 3
push eax
push edi
call fcn.0047ab00
mov eax, dword [esi]
add esp, 0x14
cmp eax, 0xffffffff
je 0x449aee
sub eax, ebx
cmp dword [edi], 0
jne 0x449f0b
push eax
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
add esi, 4
mov ecx, 0x266
push 0
push 0
mov eax, 0x66
cmp dword [esi], 0xffffffff
push 3
cmove eax, ecx
push eax
push edi
call fcn.0047ab00
mov eax, dword [esi]
add esp, 0x14
cmp eax, 0xffffffff
jne 0x449ef4
jmp 0x449aee
mov eax, 0x24
sub eax, ebx
cmp dword [edi], esi
jne 0x449f55
push eax
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
mov eax, 0x40
add esp, 0x14
sub eax, ebx
cmp dword [edi], esi
jne 0x449f81
push eax
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x66
push edi
call fcn.0047ab00
mov eax, 0x60
add esp, 0x14
sub eax, ebx
cmp dword [edi], esi
jne 0x449fad
push eax
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x66
push edi
call fcn.0047ab00
add esp, 0x14
cmp ebx, 0xa0
je 0x449ffa
jbe 0x449fdd
lea eax, [ebx - 0xa0]
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x60
jmp 0x449ff1
mov eax, 0xa0
sub eax, ebx
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
cmp dword [edi], esi
jne 0x44a012
push 0xd75f
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 5
push 0
push 3
push 0x66
push edi
call fcn.0047ab00
push 0xa0
push 0x40
push 0
push 1
push 0
push 1
push 0x60
push edi
call fcn.0047a650
xor ebx, ebx
add esp, 0x34
mov dword [ebp - 0xc], ebx
cmp dword [edi], ebx
jne 0x44a056
push 0xe000
push 0x40
push ebx
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 3
jmp 0x44a3a6
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
cmp ecx, 5
je 0x44a095
jbe 0x44a07a
lea eax, [ecx - 5]
push eax
push 0x40
push 0
push esi
push 0
push esi
push 0x60
jmp 0x44a08c
mov eax, 5
sub eax, ecx
push eax
push 0x40
push 0
push esi
push 0
push esi
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
push 0x15
push 0x40
push 0
push esi
push 0x1062
push edi
mov dword [ebp - 0x14], 5
call fcn.0047a9f0
push 4
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
push 0xfffffffffffffffc
push 0x40
push 0
push esi
push 1
push edi
call fcn.00478e00
add esp, 0x44
mov esi, eax
cmp ebx, 0x2066
je 0x44a10c
jbe 0x44a0ef
lea ecx, [ebx - 0x2066]
push ecx
push 0x40
push 0
push 1
push 0
push 1
push 0x60
jmp 0x44a103
mov eax, 0x2066
sub eax, ebx
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
cmp dword [edi], 0
mov ebx, 0x2066
mov dword [ebp - 0xc], ebx
jne 0x44a12a
push 3
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 5
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
add esp, 0x14
cmp dword [edi], 0
jne 0x44a154
push 0xffffe5b6
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x66
push edi
call fcn.0047ab00
add esp, 0x14
cmp dword [edi], 0
jne 0x44a17e
push 0xfffff7a8
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 0
push 0
push 3
push 0x66
push edi
call fcn.0047ab00
push edi
call fcn.0047a1d0
add esp, 0x18
test esi, esi
je 0x44a1ac
test eax, eax
je 0x44a1ac
mov ecx, dword [esi + 8]
and ecx, 0xfffffffd
or ecx, 1
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x18]
push 0
push 0x40
push 0
push 3
push eax
push edi
call fcn.00478e00
add esp, 0x18
jmp 0x44a3c5
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
cmp ecx, 5
je 0x44a1fe
jbe 0x44a1e3
lea eax, [ecx - 5]
push eax
push 0x40
push 0
push esi
push 0
push esi
push 0x60
jmp 0x44a1f5
mov eax, 5
sub eax, ecx
push eax
push 0x40
push 0
push esi
push 0
push esi
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
push 0x15
push 0x40
push 0
push esi
push 0x1062
push edi
mov dword [ebp - 0x14], 5
call fcn.0047a9f0
push 4
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
push 0x18
push 0x40
push 0
push esi
push 0x262
push edi
call fcn.0047a9f0
add esp, 0x44
push 1
push 0
push 3
push 0x65
push edi
call fcn.0047ab00
push 0xfffffffffffffffc
push 0x40
push 0
push esi
push 1
push edi
call fcn.00478e00
add esp, 0x2c
mov esi, eax
cmp ebx, 0x2066
je 0x44a298
jbe 0x44a27b
lea ecx, [ebx - 0x2066]
push ecx
push 0x40
push 0
push 1
push 0
push 1
push 0x60
jmp 0x44a28f
mov eax, 0x2066
sub eax, ebx
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
cmp dword [edi], 0
mov ebx, 0x2066
mov dword [ebp - 0xc], ebx
jne 0x44a2b6
push 3
push 0x40
push 0
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 5
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
add esp, 0x14
cmp dword [edi], 0
jne 0x44a17e
push 0xffffe5b6
jmp 0x44a16f
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x28]
cmp ecx, 0x17
je 0x44a312
jbe 0x44a2f7
lea eax, [ecx - 0x17]
push eax
push 0x40
push 0
push esi
push 0
push esi
push 0x60
jmp 0x44a309
mov eax, 0x17
sub eax, ecx
push eax
push 0x40
push 0
push esi
push 0
push esi
push 0x62
push edi
call fcn.0047a650
add esp, 0x20
push 3
push 0x40
push 0
push esi
push 0x1462
push edi
call fcn.0047a9f0
push 5
push 0
push 3
push 0x20
push edi
call fcn.0047ab00
add esp, 0x2c
test ebx, ebx
je 0x44a34f
push ebx
push 0x40
push 0
push 1
push 0
push 1
push 0x60
push edi
call fcn.0047a650
add esp, 0x20
xor ebx, ebx
mov dword [ebp - 0xc], ebx
cmp dword [edi], ebx
jne 0x44a368
push 0x7f
push 0x40
push ebx
push 1
push edi
call fcn.0044fa00
add esp, 0x14
push 5
push 0
push 3
push 0x65
push edi
call fcn.0047ab00
push 7
push 0x40
push 0
push esi
push 0
push esi
push 0x60
push edi
call fcn.0047a650
push 6
push 0x40
push 0
push esi
push 0x1462
push edi
mov dword [ebp - 0x14], 0x10
call fcn.0047a9f0
add esp, 0x4c
push 5
push 0
push 3
push 0x266
push edi
call fcn.0047ab00
mov eax, dword [ebp - 0x18]
xor eax, 1
push eax
push edi
call fcn.0047a140
add esp, 0x1c
mov esi, eax
add dword [ebp - 0x10], 2
test esi, esi
je 0x44a3ff
mov eax, dword [ebp - 0x1c]
test eax, eax
mov ebx, dword [ebp - 0x40]
cmovg ebx, dword [ebp - 0x44]
cmp dword [edi], 0
jne 0x44a457
push 8
push edi
call fcn.00451c70
add esp, 8
test eax, eax
je 0x44a3fc
mov ecx, dword [ebx]
mov dword [eax + 4], ecx
mov dword [eax], esi
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0
jne 0x4494f0
cmp dword [ebp - 8], 0
je 0x44a446
push edi
call fcn.0047a1d0
mov edx, dword [ebp - 8]
add esp, 4
mov esi, eax
test edx, edx
je 0x44a446
mov ecx, dword [edx]
test ecx, ecx
je 0x44a43f
test esi, esi
je 0x44a43f
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], esi
or eax, 1
mov dword [ecx + 8], eax
mov edx, dword [edx + 4]
test edx, edx
jne 0x44a426
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0xc]
jmp 0x44a402