Function at 0x43ff7a
Capabilities:
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x294
mov eax, dword [0x4c2320]
xor eax, ebp
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x1c], 0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x6c], 0
mov dword [ebp - 8], 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa4], 0
mov edx, dword [ebp - 0x64]
and edx, 0x800
neg edx
sbb edx, edx
neg edx
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0x64]
and eax, 0x200
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
xor ecx, 1
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0xc], 0xfffffffe
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x64]
and edx, 1
neg edx
sbb edx, edx
and edx, 0x100
mov dword [ebp - 0x78], edx
jmp 0x43fa65
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov dword [ebp - 0x9c], edx
cmp dword [ebp + 0x28], 0
je 0x43fb3c
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x10]
add ecx, 0x1000
cmp dword [ebp - 0x30], ecx
jbe 0x43fa9f
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x444b02
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0xac]
jae 0x43fab3
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp + 0x28]
mov eax, 0x7fffffeb
sub eax, dword [edx]
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0xac]
cmp eax, ecx
jge 0x43fadd
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x444b02
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0xac]
mov ecx, dword [ebp + 0x28]
add eax, dword [ecx]
mov edx, dword [ebp + 0x28]
mov dword [edx], eax
cmp dword [ebp - 4], 0
je 0x43fb2b
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x14]
jbe 0x43fb29
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.004497c0
add esp, 0xc
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x30]
sub edx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
jmp 0x43fb31
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xac], edx
jmp 0x43fb63
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x10]
add ecx, 0x1000
mov edx, dword [ebp + 0x24]
cmp dword [edx + 0x20], ecx
jbe 0x43fb63
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x34
jmp 0x444b02
cmp dword [ebp - 0x6c], 0
je 0x43fc0b
cmp dword [ebp - 0x9c], 0
je 0x43fc0b
cmp dword [ebp - 0x9c], 0x5c
jne 0x43fba6
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x45
jne 0x43fba6
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x43fa5c
cmp dword [ebp - 0xb0], 0
je 0x43fbd6
cmp dword [ebp + 0x28], 0
jne 0x43fbcc
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00446510
add esp, 0xc
mov dword [ebp - 0xb0], 0
mov ecx, dword [ebp - 0x64]
and ecx, 0x4000
je 0x43fc01
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.004464b0
add esp, 0xc
mov dword [ebp - 0x30], eax
jmp case.0x43fe4c.1
cmp dword [ebp - 0x9c], 0x2a
je 0x43fc4e
cmp dword [ebp - 0x9c], 0x2b
je 0x43fc4e
cmp dword [ebp - 0x9c], 0x3f
je 0x43fc4e
cmp dword [ebp - 0x9c], 0x7b
jne 0x43fc42
mov eax, dword [ebp - 0x2c]
add eax, 1
push eax
call fcn.004454e0
add esp, 4
test eax, eax
jne 0x43fc4e
mov dword [ebp - 0x234], 0
jmp 0x43fc58
mov dword [ebp - 0x234], 1
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0
jne 0x43fcad
cmp dword [ebp - 0xb0], 0
je 0x43fcad
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
sub eax, 1
mov dword [ebp - 0x7c], eax
test edx, edx
jg 0x43fcad
cmp dword [ebp + 0x28], 0
jne 0x43fca3
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.00446510
add esp, 0xc
mov dword [ebp - 0xb0], 0
mov ecx, dword [ebp - 0x64]
and ecx, 8
je 0x43fdf3
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x9c]
movzx edx, byte [eax + ecx]
and edx, 1
je 0x43fcd3
jmp 0x43fa5c
cmp dword [ebp - 0x9c], 0x23
jne 0x43fdf3
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
test edx, edx
je 0x43fdda
mov eax, dword [ebp + 0x24]
cmp dword [eax + 0x50], 0
je 0x43fd5b
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ecx + 0x1c]
jae 0x43fd43
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp + 0x24]
add ecx, 0x54
push ecx
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x50]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004488d0
add esp, 0x14
test eax, eax
je 0x43fd43
mov dword [ebp - 0x238], 1
jmp 0x43fd4d
mov dword [ebp - 0x238], 0
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x23c], ecx
jmp 0x43fdba
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x24]
mov ecx, dword [edx + 0x1c]
sub ecx, dword [eax + 0x54]
cmp dword [ebp - 0x2c], ecx
ja 0x43fda4
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x24]
movzx edx, byte [ecx + 0x58]
cmp eax, edx
jne 0x43fda4
mov eax, dword [ebp + 0x24]
cmp dword [eax + 0x54], 1
je 0x43fd98
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 0x24]
movzx ecx, byte [eax + 0x59]
cmp edx, ecx
jne 0x43fda4
mov dword [ebp - 0x240], 1
jmp 0x43fdae
mov dword [ebp - 0x240], 0
mov edx, dword [ebp - 0x240]
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0
je 0x43fdd5
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x54]
mov edx, dword [ebp - 0x2c]
lea eax, [edx + ecx - 1]
mov dword [ebp - 0x2c], eax
jmp 0x43fdda
jmp 0x43fce0
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
test edx, edx
je 0x43fde9
jmp 0x43fa5c
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x64]
and eax, 0x4000
je 0x43fe26
cmp dword [ebp - 0xd4], 0
jne 0x43fe26
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004464b0
add esp, 0xc
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x244], edx
cmp dword [ebp - 0x244], 0x7c
ja case.0x43fe4c.1
mov eax, dword [ebp - 0x244]
movzx ecx, byte [eax + 0x444b50]
jmp dword [ecx*4 + 0x444b1c]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x18]
mov dword [edx], eax
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x80]
mov dword [ecx], edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x2c]
mov dword [edx], eax
cmp dword [ebp + 0x28], 0
je 0x43feb6
mov ecx, dword [ebp + 0x28]
mov edx, 0x7fffffeb
sub edx, dword [ecx]
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0xac]
cmp edx, eax
jge 0x43fea3
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x444b02
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0xac]
mov eax, dword [ebp + 0x28]
add edx, dword [eax]
mov ecx, dword [ebp + 0x28]
mov dword [ecx], edx
mov eax, 1
jmp 0x444b0c
mov edx, dword [ebp - 0x64]
and edx, 2
je 0x43fed5
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x43fed5
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x30]
mov byte [eax], 0x1a
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
jmp 0x444aa9
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x1b
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x444aa9
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x43ff18
mov dword [ebp - 0x18], 0xffffffff
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x64]
and ecx, 4
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 0xc
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x444aa9
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x40]
and edx, 0x2000000
je 0x43ff70
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x40
jmp 0x444b02
jmp case.0x43fe4c.1
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
cmp eax, 0x3a
je 0x43ffa4
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x2e
je 0x43ffa4
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3d
jne 0x43ffde
lea edx, [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00446130
add esp, 8
test eax, eax
je 0x43ffde
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
sub edx, 0x3a
neg edx
sbb edx, edx
and edx, 0x12
add edx, 0xd
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x444b02
mov dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x5c
jne 0x440046
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x45
jne 0x44001d
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x440044
push 3
push 0x4880a0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
push ecx
call fcn.00449b21
add esp, 0xc
test eax, eax
jne 0x440042
mov edx, dword [ebp - 0x2c]
add edx, 3
mov dword [ebp - 0x2c], edx
jmp 0x440044
jmp 0x440068
jmp 0x440066
cmp dword [ebp - 0xf8], 0
jne 0x440064
cmp dword [ebp - 0x9c], 0x5e
jne 0x440064
mov dword [ebp - 0xf8], 1
jmp 0x440066
jmp 0x440068
jmp 0x43ffe8
cmp dword [ebp - 0x9c], 0x5d
jne 0x4400b8
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x40]
and ecx, 0x2000000
je 0x4400b8
mov edx, dword [ebp - 0xf8]
neg edx
sbb edx, edx
and edx, 0xffffffa0
add edx, 0x6d
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x4400aa
mov dword [ebp - 0x18], 0xffffffff
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x98], edx
jmp 0x444aa9
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd0], 0xffffffff
push 0x20
push 0
lea eax, [ebp - 0x60]
push eax
call fcn.0044f160
add esp, 0xc
mov dword [ebp - 0x90], 0
mov ecx, dword [ebp - 0x30]
add ecx, 4
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x9c], 0
je 0x44175c
cmp dword [ebp - 0xa0], 0
je 0x4401f1
cmp dword [ebp - 0x9c], 0x7f
jle 0x4401f1
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0xc0
jl 0x4401f1
mov edx, dword [ebp - 0x9c]
and edx, 0x3f
movzx eax, byte [edx + 0x488670]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
imul ecx, ecx, 6
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x9c]
and eax, dword [edx*4 + 0x488654]
mov ecx, dword [ebp - 0x104]
shl eax, cl
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x100], 1
jmp 0x4401a3
mov ecx, dword [ebp - 0x100]
add ecx, 1
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
cmp edx, dword [ebp - 0x108]
jg 0x4401e5
mov eax, dword [ebp - 0x104]
sub eax, 6
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x100]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x104]
shl edx, cl
or edx, dword [ebp - 0x9c]
mov dword [ebp - 0x9c], edx
jmp 0x440194
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x108]
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 0x28], 0
je 0x44020d
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x3c]
mov edx, dword [ebp + 0x28]
add ecx, dword [edx]
mov eax, dword [ebp + 0x28]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x6c], 0
je 0x440247
cmp dword [ebp - 0x9c], 0x5c
jne 0x44023d
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
cmp eax, 0x45
jne 0x44023d
mov dword [ebp - 0x6c], 0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x441727
jmp 0x440ff1
cmp dword [ebp - 0x9c], 0x5b
jne 0x44057f
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
cmp eax, 0x3a
je 0x44027c
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x2e
je 0x44027c
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3d
jne 0x44057f
lea edx, [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00446130
add esp, 8
test eax, eax
je 0x44057f
mov dword [ebp - 0x138], 0
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3a
je 0x4402cc
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x1f
jmp 0x444b02
mov eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x5e
jne 0x4402fd
mov dword [ebp - 0x138], 1
mov dword [ebp - 0xdc], 1
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x94]
sub ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
call fcn.004461d0
add esp, 8
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jge 0x440335
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
jmp 0x444b02
mov ecx, dword [ebp - 0x64]
and ecx, 1
je 0x440350
cmp dword [ebp - 0x110], 2
jg 0x440350
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0x110]
imul edx, edx, 3
mov dword [ebp - 0x110], edx
push 0x20
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x13c]
add ecx, dword [eax*4 + 0x4875c0]
push ecx
lea edx, [ebp - 0x134]
push edx
call fcn.0044d7e0
add esp, 0xc
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax*4 + 0x4875c4]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x110]
mov eax, dword [edx*4 + 0x4875c8]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x10c], 0
jl 0x440476
cmp dword [ebp - 0x114], 0
jl 0x44041b
mov dword [ebp - 0x9c], 0
jmp 0x4403db
mov ecx, dword [ebp - 0x9c]
add ecx, 1
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0x20
jge 0x440419
mov edx, dword [ebp - 0x9c]
add edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x13c]
movzx ecx, byte [eax + edx]
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ebp + edx - 0x134]
or eax, ecx
mov ecx, dword [ebp - 0x9c]
mov byte [ebp + ecx - 0x134], al
jmp 0x4403cc
jmp 0x440476
mov dword [ebp - 0x9c], 0
jmp 0x440436
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0x20
jge 0x440476
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x13c]
movzx edx, byte [ecx + eax]
not edx
mov eax, dword [ebp - 0x9c]
movzx ecx, byte [ebp + eax - 0x134]
and ecx, edx
mov edx, dword [ebp - 0x9c]
mov byte [ebp + edx - 0x134], cl
jmp 0x440427
cmp dword [ebp - 0x114], 0
jge 0x44048d
mov eax, dword [ebp - 0x114]
neg eax
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 1
jne 0x4404a8
movzx ecx, byte [ebp - 0x133]
and ecx, 0xffffffc3
mov byte [ebp - 0x133], cl
jmp 0x4404c1
cmp dword [ebp - 0x114], 2
jne 0x4404c1
movzx edx, byte [ebp - 0x129]
and edx, 0x7f
mov byte [ebp - 0x129], dl
cmp dword [ebp - 0x138], 0
je 0x440519
mov dword [ebp - 0x9c], 0
jmp 0x4404e5
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x20
jge 0x440517
mov ecx, dword [ebp - 0x9c]
movzx edx, byte [ebp + ecx - 0x134]
not edx
mov eax, dword [ebp - 0x9c]
movzx ecx, byte [ebp + eax - 0x60]
or ecx, edx
mov edx, dword [ebp - 0x9c]
mov byte [ebp + edx - 0x60], cl
jmp 0x4404d6
jmp 0x440564
mov dword [ebp - 0x9c], 0
jmp 0x440534
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x20
jge 0x440564
mov ecx, dword [ebp - 0x9c]
movzx edx, byte [ebp + ecx - 0x134]
mov eax, dword [ebp - 0x9c]
movzx ecx, byte [ebp + eax - 0x60]
or ecx, edx
mov edx, dword [ebp - 0x9c]
mov byte [ebp + edx - 0x60], cl
jmp 0x440525
mov eax, dword [ebp - 0x94]
add eax, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xe8], 0xa
jmp 0x441727
cmp dword [ebp - 0x9c], 0x5c
jne 0x440ff1
push 1
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.00444d50
add esp, 0x14
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x4405c1
jmp 0x444b02
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 5
jne 0x4405dd
mov dword [ebp - 0x9c], 8
jmp 0x44065f
mov edx, dword [ebp - 0x9c]
neg edx
cmp edx, 0x16
jne 0x4405f6
mov dword [ebp - 0x9c], 0x58
jmp 0x44065f
mov eax, dword [ebp - 0x9c]
neg eax
cmp eax, 0x11
jne 0x44060f
mov dword [ebp - 0x9c], 0x52
jmp 0x44065f
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 0x1a
jne 0x44064d
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
cmp eax, 0x5c
jne 0x44063f
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 2]
cmp edx, 0x45
jne 0x44063f
mov eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x2c], eax
jmp 0x440646
mov dword [ebp - 0x6c], 1
jmp 0x441727
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 0x19
jne 0x44065f
jmp 0x441727
cmp dword [ebp - 0x9c], 0
jge 0x440ff1
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 8]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0xe8]
add ecx, 2
mov dword [ebp - 0xe8], ecx
cmp dword [ebp + 0x28], 0
jne 0x4408f2
mov edx, dword [ebp - 0x9c]
neg edx
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
sub eax, 6
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 5
ja case.default.0x4406c1
mov ecx, dword [ebp - 0x248]
jmp dword [ecx*4 + 0x444bd0]
mov dword [ebp - 0x9c], 0
jmp 0x4406e3
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0x20
jge 0x440715
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x9c]
movzx ecx, byte [eax + 0x40]
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ebp + edx - 0x60]
or eax, ecx
mov ecx, dword [ebp - 0x9c]
mov byte [ebp + ecx - 0x60], al
jmp 0x4406d4
jmp 0x441727
mov dword [ebp - 0xdc], 1
mov dword [ebp - 0x9c], 0
jmp 0x44073f
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0x20
jge 0x440773
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x9c]
movzx ecx, byte [eax + 0x40]
not ecx
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ebp + edx - 0x60]
or eax, ecx
mov ecx, dword [ebp - 0x9c]
mov byte [ebp + ecx - 0x60], al
jmp 0x440730
jmp 0x441727
mov dword [ebp - 0x9c], 0
jmp 0x440793
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0x20
jge 0x4407c8
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x9c]
movzx ecx, byte [eax + 0xa0]
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ebp + edx - 0x60]
or eax, ecx
mov ecx, dword [ebp - 0x9c]
mov byte [ebp + ecx - 0x60], al
jmp 0x440784
jmp 0x441727
mov dword [ebp - 0xdc], 1
mov dword [ebp - 0x9c], 0
jmp 0x4407f2
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0x20
jge 0x440829
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x9c]
movzx ecx, byte [eax + 0xa0]
not ecx
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ebp + edx - 0x60]
or eax, ecx
mov ecx, dword [ebp - 0x9c]
mov byte [ebp + ecx - 0x60], al
jmp 0x4407e3
jmp 0x441727
mov dword [ebp - 0x9c], 0
jmp 0x440849
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0x20
jge 0x44087a
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x9c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ebp + edx - 0x60]
or eax, ecx
mov ecx, dword [ebp - 0x9c]
mov byte [ebp + ecx - 0x60], al
jmp 0x44083a
movzx edx, byte [ebp - 0x5f]
and edx, 0xfffffff7
mov byte [ebp - 0x5f], dl
jmp 0x441727
mov dword [ebp - 0xdc], 1
mov dword [ebp - 0x9c], 0
jmp 0x4408ae
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x20
jge 0x4408e1
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x9c]
movzx edx, byte [ecx]
not edx
mov eax, dword [ebp - 0x9c]
movzx ecx, byte [ebp + eax - 0x60]
or ecx, edx
mov edx, dword [ebp - 0x9c]
mov byte [ebp + edx - 0x60], cl
jmp 0x44089f
movzx eax, byte [ebp - 0x5f]
or eax, 8
mov byte [ebp - 0x5f], al
jmp 0x441727
jmp 0x44092d
cmp dword [ebp - 0x9c], 0xfffffff9
je 0x440928
cmp dword [ebp - 0x9c], 0xfffffffa
je 0x440928
cmp dword [ebp - 0x9c], 0xfffffff5
je 0x440928
cmp dword [ebp - 0x9c], 0xfffffff6
je 0x440928
cmp dword [ebp - 0x9c], 0xfffffff7
je 0x440928
cmp dword [ebp - 0x9c], 0xfffffff8
jne 0x44092d
jmp 0x441727
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 0x13
jne 0x440a73
movzx edx, byte [ebp - 0x5f]
or edx, 2
mov byte [ebp - 0x5f], dl
movzx eax, byte [ebp - 0x5c]
or eax, 1
mov byte [ebp - 0x5c], al
movzx ecx, byte [ebp - 0x4c]
or ecx, 1
mov byte [ebp - 0x4c], cl
cmp dword [ebp - 0xa0], 0
je 0x440a6e
mov dword [ebp - 0x90], 1
mov edx, dword [ebp - 0x10]
mov byte [edx], 1
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x1680
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov byte [edx], 1
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x180e
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov byte [edx], 2
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x2000
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
push edx
push 0x200a
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax], 1
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x202f
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax], 1
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x205f
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax], 1
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x3000
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x441727
mov eax, dword [ebp - 0x9c]
neg eax
cmp eax, 0x12
jne 0x440cf7
mov dword [ebp - 0x9c], 0
jmp 0x440a9f
mov ecx, dword [ebp - 0x9c]
add ecx, 1
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0x20
jge 0x440b30
mov dword [ebp - 0x144], 0xff
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x24c], edx
cmp dword [ebp - 0x24c], 1
je 0x440adf
cmp dword [ebp - 0x24c], 4
je 0x440af0
cmp dword [ebp - 0x24c], 0x14
je 0x440b01
jmp 0x440b10
mov eax, dword [ebp - 0x144]
xor eax, 2
mov dword [ebp - 0x144], eax
jmp 0x440b10
mov ecx, dword [ebp - 0x144]
xor ecx, 1
mov dword [ebp - 0x144], ecx
jmp 0x440b10
mov edx, dword [ebp - 0x144]
xor edx, 1
mov dword [ebp - 0x144], edx
mov eax, dword [ebp - 0x9c]
movzx ecx, byte [ebp + eax - 0x60]
or ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x9c]
mov byte [ebp + edx - 0x60], cl
jmp 0x440a90
cmp dword [ebp - 0xa0], 0
je 0x440cf2
mov dword [ebp - 0x90], 1
mov eax, dword [ebp - 0x10]
mov byte [eax], 2
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
push pe_nt_image_headers32
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
push 0x167f
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov byte [ecx], 2
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
push eax
push 0x1681
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x180d
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov byte [edx], 2
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x180f
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
push edx
push 0x1fff
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax], 2
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x200b
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
push 0x202e
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov byte [ecx], 2
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
push eax
push 0x2030
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x205e
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov byte [edx], 2
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x2060
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
push edx
push 0x2fff
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax], 2
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x3001
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
push bind
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x441727
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 0x15
jne 0x440d8f
movzx edx, byte [ebp - 0x5f]
or edx, 4
mov byte [ebp - 0x5f], dl
movzx eax, byte [ebp - 0x5f]
or eax, 8
mov byte [ebp - 0x5f], al
movzx ecx, byte [ebp - 0x5f]
or ecx, 0x10
mov byte [ebp - 0x5f], cl
movzx edx, byte [ebp - 0x5f]
or edx, 0x20
mov byte [ebp - 0x5f], dl
movzx eax, byte [ebp - 0x50]
or eax, 0x20
mov byte [ebp - 0x50], al
cmp dword [ebp - 0xa0], 0
je 0x440d8a
mov dword [ebp - 0x90], 1
mov ecx, dword [ebp - 0x10]
mov byte [ecx], 2
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
push eax
push 0x2028
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x2029
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x441727
mov edx, dword [ebp - 0x9c]
neg edx
cmp edx, 0x14
jne 0x440ef5
mov dword [ebp - 0x9c], 0
jmp 0x440dbb
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0x20
jge 0x440e5f
mov dword [ebp - 0x148], 0xff
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x250], ecx
cmp dword [ebp - 0x250], 1
je 0x440df2
cmp dword [ebp - 0x250], 0x10
je 0x440e30
jmp 0x440e3f
mov edx, dword [ebp - 0x148]
xor edx, 4
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x148]
xor eax, 8
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
xor ecx, 0x10
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x148]
xor edx, 0x20
mov dword [ebp - 0x148], edx
jmp 0x440e3f
mov eax, dword [ebp - 0x148]
xor eax, 0x20
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x9c]
movzx edx, byte [ebp + ecx - 0x60]
or edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x9c]
mov byte [ebp + eax - 0x60], dl
jmp 0x440dac
cmp dword [ebp - 0xa0], 0
je 0x440ef0
mov dword [ebp - 0x90], 1
mov ecx, dword [ebp - 0x10]
mov byte [ecx], 2
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
push eax
push pe_nt_image_headers32
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x2027
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
mov byte [edx], 2
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
push 0x2029
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
push edx
push bind
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x441727
mov eax, dword [ebp - 0x9c]
neg eax
cmp eax, 0x10
je 0x440f13
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 0xf
jne 0x440fbb
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0x14c]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.00445330
add esp, 0x10
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
jge 0x440f4a
jmp 0x444b02
mov dword [ebp - 0x90], 1
mov eax, dword [ebp - 0x9c]
neg eax
xor ecx, ecx
cmp eax, 0x10
sete cl
sub ecx, dword [ebp - 0x14c]
neg ecx
sbb ecx, ecx
add ecx, 4
mov edx, dword [ebp - 0x10]
mov byte [edx], cl
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x154]
mov byte [ecx], dl
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov dl, byte [ebp - 0x150]
mov byte [ecx], dl
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xe8]
sub ecx, 2
mov dword [ebp - 0xe8], ecx
jmp 0x441727
mov edx, dword [ebp - 0x64]
and edx, 0x40
je 0x440fd6
mov eax, dword [ebp + 0x14]
mov dword [eax], 7
jmp 0x444b02
mov ecx, dword [ebp - 0xe8]
sub ecx, 2
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x5c
jne 0x44101b
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 2]
cmp ecx, 0x45
jne 0x44101b
mov dword [ebp - 0x6c], 0
mov edx, dword [ebp - 0x2c]
add edx, 2
mov dword [ebp - 0x2c], edx
jmp 0x440ff1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0x9c], 0xd
je 0x441036
cmp dword [ebp - 0x9c], 0xa
jne 0x441045
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x44]
or edx, 0x20
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x44], edx
cmp dword [ebp - 0x6c], 0
jne 0x44158d
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x2d
jne 0x44158d
mov eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x5c
jne 0x44108a
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x45
jne 0x44108a
mov edx, dword [ebp - 0x2c]
add edx, 2
mov dword [ebp - 0x2c], edx
jmp 0x441068
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x4410d7
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
cmp eax, 0x51
jne 0x4410d7
mov ecx, dword [ebp - 0x2c]
add ecx, 2
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x5c
jne 0x4410cc
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x45
jne 0x4410cc
mov eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x2c], eax
jmp 0x44108a
mov dword [ebp - 0x6c], 1
jmp 0x4410d7
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
test edx, edx
je 0x4410f2
cmp dword [ebp - 0x6c], 0
jne 0x441105
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x5d
jne 0x441105
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x2c], edx
jmp 0x44158d
cmp dword [ebp - 0xa0], 0
je 0x4411df
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
mov dword [ebp - 0x158], ecx
cmp dword [ebp - 0x158], 0xc0
jl 0x4411dd
mov edx, dword [ebp - 0x158]
and edx, 0x3f
movzx eax, byte [edx + 0x488670]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
imul ecx, ecx, 6
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x158]
and eax, dword [edx*4 + 0x488654]
mov ecx, dword [ebp - 0x160]
shl eax, cl
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x15c], 1
jmp 0x44118f
mov ecx, dword [ebp - 0x15c]
add ecx, 1
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x164]
jg 0x4411d1
mov eax, dword [ebp - 0x160]
sub eax, 6
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x15c]
movzx edx, byte [ecx]
and edx, 0x3f
mov ecx, dword [ebp - 0x160]
shl edx, cl
or edx, dword [ebp - 0x158]
mov dword [ebp - 0x158], edx
jmp 0x441180
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x164]
mov dword [ebp - 0x2c], eax
jmp 0x4411eb
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov dword [ebp - 0x158], edx
cmp dword [ebp - 0x6c], 0
jne 0x441292
cmp dword [ebp - 0x158], 0x5c
jne 0x441292
push 1
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00444d50
add esp, 0x14
mov dword [ebp - 0x158], eax
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0
je 0x441237
jmp 0x444b02
cmp dword [ebp - 0x158], 0
jge 0x441292
cmp dword [ebp - 0x158], 0xfffffffb
jne 0x441255
mov dword [ebp - 0x158], 8
jmp 0x441292
cmp dword [ebp - 0x158], 0xffffffea
jne 0x44126a
mov dword [ebp - 0x158], 0x58
jmp 0x441292
cmp dword [ebp - 0x158], 0xffffffef
jne 0x44127f
mov dword [ebp - 0x158], 0x52
jmp 0x441292
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x2c], eax
jmp 0x44158d
mov ecx, dword [ebp - 0x158]
cmp ecx, dword [ebp - 0x9c]
jge 0x4412b3
mov edx, dword [ebp + 0x14]
mov dword [edx], 8
jmp 0x444b02
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0x9c]
jne 0x4412cb
jmp 0x44158d
cmp dword [ebp - 0x158], 0xd
je 0x4412dd
cmp dword [ebp - 0x158], 0xa
jne 0x4412ec
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x44]
or edx, 0x20
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x44], edx
cmp dword [ebp - 0xa0], 0
je 0x44149e
cmp dword [ebp - 0x158], 0xff
jg 0x44131e
mov ecx, dword [ebp - 0x64]
and ecx, 1
je 0x44149e
cmp dword [ebp - 0x158], 0x7f
jle 0x44149e
mov dword [ebp - 0x90], 1
mov edx, dword [ebp - 0x64]
and edx, 1
je 0x441458
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x174], ecx
lea edx, [ebp - 0x168]
push edx
lea eax, [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0x174]
push ecx
lea edx, [ebp - 0x16c]
push edx
call fcn.00446560
add esp, 0x10
test eax, eax
je 0x441458
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x9c]
jb 0x441396
mov ecx, dword [ebp - 0x168]
cmp ecx, dword [ebp - 0x158]
ja 0x441396
jmp 0x44134c
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x9c]
jae 0x4413c3
mov eax, dword [ebp - 0x9c]
sub eax, 1
cmp dword [ebp - 0x168], eax
jb 0x4413c3
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x9c], ecx
jmp 0x44134c
mov edx, dword [ebp - 0x168]
cmp edx, dword [ebp - 0x158]
jbe 0x4413f3
mov eax, dword [ebp - 0x158]
add eax, 1
cmp dword [ebp - 0x170], eax
ja 0x4413f3
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x158], ecx
jmp 0x44134c
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x168]
jne 0x441412
mov eax, dword [ebp - 0x10]
mov byte [eax], 1
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x44143a
mov edx, dword [ebp - 0x10]
mov byte [edx], 2
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x170]
push edx
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x168]
push ecx
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x44134c
mov edx, dword [ebp - 0x10]
mov byte [edx], 2
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x158]
push ecx
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x441727
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xe8]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0xd0], edx
cmp dword [ebp + 0x28], 0
jne 0x441588
jmp 0x4414e1
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [ebp - 0x158]
jg 0x441588
mov eax, dword [ebp - 0x9c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x9c]
and ecx, 7
mov edx, 1
shl edx, cl
movzx ecx, byte [ebp + eax - 0x60]
or ecx, edx
mov eax, dword [ebp - 0x9c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov byte [ebp + eax - 0x60], cl
mov edx, dword [ebp - 0x64]
and edx, 1
je 0x441583
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x178]
and ecx, 7
mov edx, 1
shl edx, cl
movzx ecx, byte [ebp + eax - 0x60]
or ecx, edx
mov eax, dword [ebp - 0x178]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov byte [ebp + eax - 0x60], cl
jmp 0x4414d2
jmp 0x441727
cmp dword [ebp - 0xa0], 0
je 0x44167c
cmp dword [ebp - 0x9c], 0xff
jg 0x4415bf
mov edx, dword [ebp - 0x64]
and edx, 1
je 0x44167c
cmp dword [ebp - 0x9c], 0x7f
jle 0x44167c
mov dword [ebp - 0x90], 1
mov eax, dword [ebp - 0x10]
mov byte [eax], 1
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x64]
and ecx, 1
je 0x441677
mov eax, dword [ebp - 0x9c]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx edx, byte [eax + 0x489b10]
shl edx, 7
mov eax, dword [ebp - 0x9c]
and eax, 0x8000007f
jns 0x441624
dec eax
or eax, 0xffffff80
inc eax
add edx, eax
movzx ecx, word [edx*2 + 0x48bd10]
mov edx, dword [ebp - 0x9c]
add edx, dword [ecx*8 + 0x488ccc]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x9c]
je 0x441677
mov ecx, dword [ebp - 0x10]
mov byte [ecx], 1
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x17c]
push ecx
call fcn.00449010
add esp, 8
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x441727
mov eax, dword [ebp - 0x9c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x9c]
and ecx, 7
mov edx, 1
shl edx, cl
movzx ecx, byte [ebp + eax - 0x60]
or ecx, edx
mov eax, dword [ebp - 0x9c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov byte [ebp + eax - 0x60], cl
mov edx, dword [ebp - 0x64]
and edx, 1
je 0x44170c
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ecx + edx]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, dword [ebp - 0x9c]
and ecx, 7
mov edx, 1
shl edx, cl
movzx ecx, byte [ebp + eax - 0x60]
or ecx, edx
mov eax, dword [ebp - 0x9c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov byte [ebp + eax - 0x60], cl
mov edx, dword [ebp - 0xe8]
add edx, 1
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x44175c
cmp dword [ebp - 0x9c], 0x5d
jne 0x44010c
cmp dword [ebp - 0x6c], 0
jne 0x44010c
cmp dword [ebp - 0x9c], 0
jne 0x441778
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 6
jmp 0x444b02
cmp dword [ebp - 0xe8], 1
jne 0x441851
cmp dword [ebp - 0x90], 0
jne 0x441851
cmp dword [ebp - 0xa0], 0
je 0x4417b4
cmp dword [ebp - 0xf8], 0
je 0x4417b4
cmp dword [ebp - 0xd0], 0x80
jge 0x441851
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xf8], 0
je 0x441801
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x4417d0
mov dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x30]
mov byte [ecx], 0x1e
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov cl, byte [ebp - 0xd0]
mov byte [eax], cl
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
jmp 0x444aa9
cmp dword [ebp - 0xa0], 0
je 0x441831
cmp dword [ebp - 0xd0], 0x7f
jle 0x441831
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd0]
push ecx
call fcn.00449010
add esp, 8
mov dword [ebp - 0xbc], eax
jmp 0x441847
mov dl, byte [ebp - 0xd0]
mov byte [ebp - 0xb8], dl
mov dword [ebp - 0xbc], 1
jmp 0x44498c
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x44185e
mov dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0x90], 0
je 0x441942
cmp dword [ebp - 0xdc], 0
jne 0x441942
mov edx, dword [ebp - 0x10]
mov byte [edx], 0
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x30]
mov byte [ecx], 0x50
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x30], eax
xor ecx, ecx
cmp dword [ebp - 0xf8], 0
setne cl
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
cmp dword [ebp - 0xe8], 0
jle 0x441916
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax]
or ecx, 2
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x30]
add eax, 0x20
push eax
call fcn.004497c0
add esp, 0xc
push 0x20
lea ecx, [ebp - 0x60]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0044d7e0
add esp, 0xc
mov eax, dword [ebp - 0x10]
add eax, 0x20
mov dword [ebp - 0x30], eax
jmp 0x44191c
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 4]
sar edx, 8
mov eax, dword [ebp - 4]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 4]
and ecx, 0xff
mov edx, dword [ebp - 4]
mov byte [edx + 2], cl
jmp 0x444aa9
mov eax, dword [ebp - 0xf8]
xor ecx, ecx
cmp eax, dword [ebp - 0xdc]
setne cl
add ecx, 0x4e
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0xf8], 0
je 0x4419b3
cmp dword [ebp + 0x28], 0
jne 0x4419b1
mov dword [ebp - 0x9c], 0
jmp 0x44198e
mov ecx, dword [ebp - 0x9c]
add ecx, 1
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0x20
jge 0x4419b1
mov edx, dword [ebp - 0x9c]
movzx eax, byte [ebp + edx - 0x60]
not eax
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x9c]
mov byte [ecx], al
jmp 0x44197f
jmp 0x4419c5
push 0x20
lea edx, [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.0044d7e0
add esp, 0xc
mov ecx, dword [ebp - 0x30]
add ecx, 0x20
mov dword [ebp - 0x30], ecx
jmp 0x444aa9
cmp dword [ebp - 0xd4], 0
jne 0x4419e6
jmp case.0x43fe4c.1
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x2c]
add edx, 1
push edx
call fcn.004455b0
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x441a16
jmp 0x444b02
jmp 0x441a4c
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 0xffffffff
jmp 0x441a4c
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x20], 0xffffffff
jmp 0x441a4c
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 1
cmp dword [ebp - 4], 0
jne 0x441a65
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 9
jmp 0x444b02
cmp dword [ebp - 0x28], 0
jne 0x441a7a
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
and ecx, 0x200
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0xf4], 0
mov edx, dword [ebp - 4]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x2b
jne 0x441ad2
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xf4], 1
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x441afe
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3f
jne 0x441af5
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x441afe
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x1c
je 0x441b18
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x1d
jne 0x441c30
cmp dword [ebp - 0xa0], 0
je 0x441ba5
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax - 1]
and ecx, 0x80
je 0x441ba5
mov edx, dword [ebp - 0x30]
sub edx, 1
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x180]
movzx ecx, byte [eax]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x441b68
mov edx, dword [ebp - 0x180]
sub edx, 1
mov dword [ebp - 0x180], edx
jmp 0x441b40
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x180]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
push ecx
mov edx, dword [ebp - 0x180]
push edx
lea eax, [ebp - 0x74]
push eax
call fcn.0044d7e0
add esp, 0xc
mov ecx, dword [ebp - 0x9c]
or ecx, 0x80
mov dword [ebp - 0x9c], ecx
jmp 0x441bca
mov edx, dword [ebp - 0x30]
movzx eax, byte [edx - 1]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x28], 1
jle 0x441bca
mov ecx, dword [ebp - 0x9c]
or ecx, dword [ebp - 0x78]
mov edx, dword [ebp + 0x24]
or ecx, dword [edx + 0x48]
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0xf4], 0
jne 0x441c21
cmp dword [ebp - 0x20], 0
jge 0x441c21
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x2c]
add edx, 1
push edx
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
push ecx
call fcn.00446660
add esp, 0x1c
test eax, eax
je 0x441c21
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xf4], 1
jmp 0x441d1a
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x1e
jne 0x441ca8
mov dword [ebp - 0x38], 0xd
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 1]
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0xf4], 0
jne 0x441c9f
cmp dword [ebp - 0x20], 0
jge 0x441c9f
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x2c]
add edx, 1
push edx
push 0
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0x9c]
push ecx
push 0x1e
call fcn.00446660
add esp, 0x1c
test eax, eax
je 0x441c9f
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xf4], 1
jmp 0x441d1a
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x17
jge 0x442108
mov dword [ebp - 0x38], 0x1a
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0xf4], 0
jne 0x441d1a
cmp dword [ebp - 0x20], 0
jge 0x441d1a
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x2c]
add edx, 1
push edx
push 0
mov eax, dword [ebp - 0xa0]
push eax
push 0
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.00446660
add esp, 0x1c
test eax, eax
je 0x441d1a
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0xf4], 1
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x10
je 0x441d30
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0xf
jne 0x441d4c
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 1]
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 2]
mov dword [ebp - 0x18c], eax
jmp 0x441d62
mov dword [ebp - 0x18c], 0xffffffff
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x188], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x20], 0
jne 0x441d81
jmp 0x442c80
cmp dword [ebp - 0x20], 1
je 0x441d96
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x44]
or edx, 1
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x44], edx
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x38]
mov dword [ebp - 0x8c], ecx
cmp dword [ebp - 0x28], 0
jne 0x441e28
cmp dword [ebp - 0x20], 0xffffffff
jne 0x441dca
mov edx, dword [ebp - 0x8c]
add edx, 0x1f
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
jmp 0x441e23
cmp dword [ebp - 0x20], 1
jne 0x441de9
mov edx, dword [ebp - 0x8c]
add edx, 0x23
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
jmp 0x441e23
mov edx, dword [ebp - 0x8c]
add edx, 0x25
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x20]
sar edx, 8
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x20]
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x30], eax
jmp 0x44207e
cmp dword [ebp - 0x28], 1
jne 0x441eab
cmp dword [ebp - 0x20], 0xffffffff
jne 0x441e4d
mov ecx, dword [ebp - 0x8c]
add ecx, 0x21
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x441ea6
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x20], 1
jne 0x441e66
jmp 0x442c80
mov edx, dword [ebp - 0x8c]
add edx, 0x25
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x20]
sub edx, 1
sar edx, 8
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x20]
sub ecx, 1
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x30], eax
jmp 0x44207e
mov ecx, dword [ebp - 0x38]
add ecx, 0x27
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
sar ecx, 8
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x28]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x30]
add edx, 2
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x20], 0
jge 0x441f8c
cmp dword [ebp - 0xa0], 0
je 0x441f2b
cmp dword [ebp - 0x9c], 0x80
jl 0x441f2b
mov eax, dword [ebp - 0x9c]
and eax, 7
push eax
lea ecx, [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0044d7e0
add esp, 0xc
mov eax, dword [ebp - 0x9c]
and eax, 7
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x441f70
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x9c]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x188], 0
jl 0x441f70
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x188]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18c]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x1f
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x44207e
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x28]
je 0x44207e
cmp dword [ebp - 0xa0], 0
je 0x441fd8
cmp dword [ebp - 0x9c], 0x80
jl 0x441fd8
mov edx, dword [ebp - 0x9c]
and edx, 7
push edx
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0044d7e0
add esp, 0xc
mov edx, dword [ebp - 0x9c]
and edx, 7
add edx, dword [ebp - 0x30]
mov dword [ebp - 0x30], edx
jmp 0x441fec
mov eax, dword [ebp - 0x30]
mov cl, byte [ebp - 0x9c]
mov byte [eax], cl
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x188], 0
jl 0x44201d
mov eax, dword [ebp - 0x30]
mov cl, byte [ebp - 0x188]
mov byte [eax], cl
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov cl, byte [ebp - 0x18c]
mov byte [eax], cl
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jne 0x442045
mov ecx, dword [ebp - 0x8c]
add ecx, 0x23
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x44207e
mov ecx, dword [ebp - 0x8c]
add ecx, 0x25
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x20]
sar ecx, 8
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x20]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x30]
add edx, 2
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0xa0], 0
je 0x4420be
cmp dword [ebp - 0x9c], 0x80
jl 0x4420be
mov eax, dword [ebp - 0x9c]
and eax, 7
push eax
lea ecx, [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.0044d7e0
add esp, 0xc
mov eax, dword [ebp - 0x9c]
and eax, 7
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x4420d2
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x9c]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x188], 0
jl 0x442103
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x188]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x18c]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x442a43
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x4e
je 0x442138
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x4f
je 0x442138
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x50
je 0x442138
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x51
jne 0x442246
cmp dword [ebp - 0x20], 0
jne 0x44214e
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
jmp 0x442c80
cmp dword [ebp - 0x20], 1
je 0x442163
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x44]
or edx, 1
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x44], edx
cmp dword [ebp - 0x28], 0
jne 0x44218b
cmp dword [ebp - 0x20], 0xffffffff
jne 0x44218b
mov ecx, dword [ebp - 0x8c]
add ecx, 0x46
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x442241
cmp dword [ebp - 0x28], 1
jne 0x4421b3
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4421b3
mov ecx, dword [ebp - 0x8c]
add ecx, 0x48
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x442241
cmp dword [ebp - 0x28], 0
jne 0x4421d8
cmp dword [ebp - 0x20], 1
jne 0x4421d8
mov ecx, dword [ebp - 0x8c]
add ecx, 0x4a
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x442241
mov ecx, dword [ebp - 0x8c]
add ecx, 0x4c
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
sar ecx, 8
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x28]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x30]
add edx, 2
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x20], 0xffffffff
jne 0x44221e
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
sar eax, 8
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov eax, dword [ebp - 0x30]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x30]
add ecx, 2
mov dword [ebp - 0x30], ecx
jmp 0x442a43
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x5e
je 0x442276
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx]
cmp edx, 0x5f
je 0x442276
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x5d
je 0x442276
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x60
jne 0x442a19
mov dword [ebp - 0x19c], 0
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 4]
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x190], 0
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x60
jne 0x4422c0
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 3]
cmp edx, 0x66
jne 0x4422c0
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x37
jmp 0x444b02
cmp dword [ebp - 0x20], 0xffffffff
jne 0x442311
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x1a0]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x1a0]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
movzx ecx, byte [eax]
cmp ecx, 0x55
jne 0x4422cf
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x19c], edx
cmp dword [ebp - 0x28], 0
jne 0x442487
cmp dword [ebp - 0x20], 1
jg 0x4423a9
mov eax, dword [ebp - 0x30]
mov byte [eax], 0
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp + 0x24]
push edx
mov eax, dword [ebp - 0xa0]
push eax
push 1
mov ecx, dword [ebp - 4]
push ecx
call fcn.00446250
add esp, 0x14
mov edx, dword [ebp - 0x198]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 4]
add ecx, 1
push ecx
call fcn.004497c0
add esp, 0xc
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x20], 0
jne 0x44238d
mov eax, dword [ebp - 4]
mov byte [eax], 0x6f
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x442c80
mov edx, dword [ebp - 0x8c]
add edx, 0x67
mov eax, dword [ebp - 4]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x442479
mov edx, dword [ebp - 0x30]
mov byte [edx], 0
mov eax, dword [ebp - 0xa4]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
push 4
mov eax, dword [ebp - 4]
push eax
call fcn.00446250
add esp, 0x14
mov ecx, dword [ebp - 0x198]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 4]
add eax, 4
push eax
call fcn.004497c0
add esp, 0xc
mov ecx, dword [ebp - 0x30]
add ecx, 4
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x8c]
add edx, 0x67
mov eax, dword [ebp - 4]
mov byte [eax], dl
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov byte [edx], 0x5e
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 0x190], 0
jne 0x44242d
mov dword [ebp - 0x254], 0
jmp 0x44243c
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x190]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x1a4]
sar ecx, 8
mov edx, dword [ebp - 4]
mov byte [edx], cl
mov eax, dword [ebp - 0x1a4]
and eax, 0xff
mov ecx, dword [ebp - 4]
mov byte [ecx + 1], al
mov edx, dword [ebp - 4]
add edx, 2
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x20]
sub eax, 1
mov dword [ebp - 0x20], eax
jmp 0x442623
cmp dword [ebp - 0x28], 1
jle 0x442614
cmp dword [ebp + 0x28], 0
je 0x442503
mov ecx, dword [ebp - 0x28]
sub ecx, 1
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x1a8], ecx
mov edx, dword [ebp - 0x28]
sub edx, 1
mov dword [ebp - 0x258], edx
fild dword [ebp - 0x258]
fimul dword [ebp - 0x1c]
fcomp qword [0x4880f8]
fnstsw ax
test ah, 0x41
je 0x4424db
mov eax, dword [ebp + 0x28]
mov ecx, 0x7fffffeb
sub ecx, dword [eax]
cmp ecx, dword [ebp - 0x1a8]
jge 0x4424ee
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x444b00
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp + 0x28]
mov dword [edx], ecx
jmp 0x442614
cmp dword [ebp - 8], 0
je 0x442515
cmp dword [ebp - 0x80], 0
jge 0x442515
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x194], 1
jmp 0x442530
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x194]
cmp edx, dword [ebp - 0x28]
jge 0x442614
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x198]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0044d7e0
add esp, 0xc
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x1ac], edx
jmp 0x44257f
mov eax, dword [ebp - 0x1ac]
add eax, 2
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1ac]
cmp ecx, dword [ebp - 0x1b0]
jae 0x4425f7
mov edx, dword [ebp - 0x1ac]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x1ac]
movzx edx, byte [ecx + 1]
or eax, edx
add eax, dword [ebp - 0x198]
sar eax, 8
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x20]
mov byte [edx], al
mov eax, dword [ebp - 0x1ac]
movzx ecx, byte [eax]
shl ecx, 8
mov edx, dword [ebp - 0x1ac]
movzx eax, byte [edx + 1]
or ecx, eax
add ecx, dword [ebp - 0x198]
and ecx, 0xff
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov byte [eax + 1], cl
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x20]
add edx, 2
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x20], edx
jmp 0x442570
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 0x198]
mov dword [ebp - 0x30], edx
jmp 0x442521
cmp dword [ebp - 0x20], 0
jle 0x442623
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jl 0x442942
cmp dword [ebp + 0x28], 0
je 0x4426aa
cmp dword [ebp - 0x20], 0
jle 0x4426aa
mov ecx, dword [ebp - 0x1c]
add ecx, 7
imul ecx, dword [ebp - 0x20]
sub ecx, 6
mov dword [ebp - 0x1b4], ecx
fild dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
add edx, 7
mov dword [ebp - 0x25c], edx
fild dword [ebp - 0x25c]
fmulp st(1)
fcomp qword [0x4880f8]
fnstsw ax
test ah, 0x41
je 0x442682
mov eax, dword [ebp + 0x28]
mov ecx, 0x7fffffeb
sub ecx, dword [eax]
cmp ecx, dword [ebp - 0x1b4]
jge 0x442695
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x444afe
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1b4]
mov edx, dword [ebp + 0x28]
mov dword [edx], ecx
jmp 0x442861
mov eax, dword [ebp - 0x20]
sub eax, 1
mov dword [ebp - 0x194], eax
jmp 0x4426c7
mov ecx, dword [ebp - 0x194]
sub ecx, 1
mov dword [ebp - 0x194], ecx
cmp dword [ebp - 0x194], 0
jl 0x442861
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x67
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x194], 0
je 0x442771
mov ecx, dword [ebp - 0x30]
mov byte [ecx], 0x5e
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x190], 0
jne 0x442724
mov dword [ebp - 0x260], 0
jmp 0x442733
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x190]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x260]
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x1c0]
sar eax, 8
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
mov edx, dword [ebp - 0x1c0]
and edx, 0xff
mov eax, dword [ebp - 0x30]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x30]
add ecx, 2
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x198]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0044d7e0
add esp, 0xc
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x1b8], edx
jmp 0x4427a5
mov eax, dword [ebp - 0x1b8]
add eax, 2
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x1b8]
cmp ecx, dword [ebp - 0x1bc]
jae 0x442844
mov edx, dword [ebp - 0x1b8]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x1b8]
movzx edx, byte [ecx + 1]
or eax, edx
add eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
neg ecx
sbb ecx, ecx
and ecx, 3
add ecx, 1
add eax, ecx
sar eax, 8
mov edx, dword [ebp + 0x24]
mov ecx, dword [edx + 0x20]
mov byte [ecx], al
mov edx, dword [ebp - 0x1b8]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x1b8]
movzx edx, byte [ecx + 1]
or eax, edx
add eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
neg ecx
sbb ecx, ecx
and ecx, 3
add ecx, 1
add eax, ecx
and eax, 0xff
mov edx, dword [ebp + 0x24]
mov ecx, dword [edx + 0x20]
mov byte [ecx + 1], al
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
add eax, 2
mov ecx, dword [ebp + 0x24]
mov dword [ecx + 0x20], eax
jmp 0x442796
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x198]
mov dword [ebp - 0x30], eax
jmp 0x4426b8
cmp dword [ebp - 0x190], 0
je 0x44293d
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x190]
add ecx, 1
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1c8]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x1c8]
movzx eax, byte [edx + 2]
or ecx, eax
mov dword [ebp - 0x1c4], ecx
jne 0x4428bc
mov dword [ebp - 0x264], 0
jmp 0x4428ce
mov ecx, dword [ebp - 0x190]
sub ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0x264]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x30]
mov byte [eax], 0x55
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x1cc]
sar edx, 8
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1cc]
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x1cc]
sar ecx, 8
mov edx, dword [ebp - 0x1c8]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x1cc]
and eax, 0xff
mov ecx, dword [ebp - 0x1c8]
mov byte [ecx + 2], al
jmp 0x442861
jmp 0x442a17
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x19c]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x1d4]
movzx eax, byte [edx + 2]
or ecx, eax
mov edx, dword [ebp - 0x1d4]
sub edx, ecx
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x56
mov ecx, dword [ebp - 0x1d4]
mov byte [ecx], al
cmp dword [ebp + 0x28], 0
jne 0x442a17
mov edx, dword [ebp - 0x1d0]
movzx eax, byte [edx]
cmp eax, 0x5d
je 0x442a17
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0xa0]
push edx
mov eax, dword [ebp - 0x1d4]
push eax
mov ecx, dword [ebp - 0x1d8]
push ecx
call fcn.00445c10
add esp, 0xc
test eax, eax
je 0x4429e4
mov edx, dword [ebp - 0x1d0]
movzx eax, byte [edx]
add eax, 3
mov ecx, dword [ebp - 0x1d0]
mov byte [ecx], al
jmp 0x442a17
mov edx, dword [ebp - 0x1d8]
movzx eax, byte [edx + 1]
shl eax, 8
mov ecx, dword [ebp - 0x1d8]
movzx edx, byte [ecx + 2]
or eax, edx
add eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x1d8]
movzx ecx, byte [eax]
cmp ecx, 0x54
je 0x4429ad
jmp 0x442a43
mov edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x6d
jne 0x442a30
jmp 0x442c80
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xb
jmp 0x444afc
cmp dword [ebp - 0xf4], 0
je 0x442c80
mov edx, dword [ebp - 0xa8]
movzx eax, byte [edx]
cmp eax, 0x27
je 0x442a7a
mov ecx, dword [ebp - 0xa8]
movzx edx, byte [ecx]
cmp edx, 0x41
je 0x442a7a
mov eax, dword [ebp - 0xa8]
movzx ecx, byte [eax]
cmp ecx, 0x34
jne 0x442ade
mov edx, dword [ebp - 0xa8]
movzx eax, byte [edx]
cmp eax, 0x41
jne 0x442ab2
mov ecx, dword [ebp - 0xa8]
movzx edx, byte [ecx + 3]
cmp edx, 0x10
je 0x442aa6
mov eax, dword [ebp - 0xa8]
movzx ecx, byte [eax + 3]
cmp ecx, 0xf
jne 0x442ab2
mov dword [ebp - 0x268], 2
jmp 0x442abc
mov dword [ebp - 0x268], 0
mov edx, dword [ebp - 0xa8]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4885b0]
add ecx, dword [ebp - 0x268]
add ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0xa8]
mov dword [ebp - 0x1dc], edx
cmp dword [ebp - 0x1dc], 0
jle 0x442c80
mov eax, dword [ebp - 0xa8]
movzx ecx, byte [eax]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x26c]
sub edx, 0x1f
mov dword [ebp - 0x26c], edx
cmp dword [ebp - 0x26c], 0x20
ja case.0x442b32.1
mov eax, dword [ebp - 0x26c]
movzx ecx, byte [eax + 0x444c1c]
jmp dword [ecx*4 + 0x444be8]
mov edx, dword [ebp - 0xa8]
mov byte [edx], 0x28
jmp 0x442c80
mov eax, dword [ebp - 0xa8]
mov byte [eax], 0x29
jmp 0x442c80
mov ecx, dword [ebp - 0xa8]
mov byte [ecx], 0x2a
jmp 0x442c80
mov edx, dword [ebp - 0xa8]
mov byte [edx], 0x2b
jmp 0x442c80
mov eax, dword [ebp - 0xa8]
mov byte [eax], 0x42
jmp 0x442c80
mov ecx, dword [ebp - 0xa8]
mov byte [ecx], 0x43
jmp 0x442c80
mov edx, dword [ebp - 0xa8]
mov byte [edx], 0x44
jmp 0x442c80
mov eax, dword [ebp - 0xa8]
mov byte [eax], 0x45
jmp 0x442c80
mov ecx, dword [ebp - 0xa8]
mov byte [ecx], 0x35
jmp 0x442c80
mov edx, dword [ebp - 0xa8]
mov byte [edx], 0x36
jmp 0x442c80
mov eax, dword [ebp - 0xa8]
mov byte [eax], 0x37
jmp 0x442c80
mov ecx, dword [ebp - 0xa8]
mov byte [ecx], 0x38
jmp 0x442c80
mov edx, dword [ebp - 0x1dc]
push edx
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xa8]
add ecx, 3
push ecx
call fcn.004497c0
add esp, 0xc
mov edx, dword [ebp - 0x30]
add edx, 3
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1dc]
add eax, 3
mov dword [ebp - 0x1dc], eax
mov ecx, dword [ebp - 0xa8]
mov byte [ecx], 0x5d
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x55
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x1dc]
sar ecx, 8
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x1dc]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x30]
add edx, 2
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1dc]
sar eax, 8
mov ecx, dword [ebp - 0xa8]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x1dc]
and edx, 0xff
mov eax, dword [ebp - 0xa8]
mov byte [eax + 2], dl
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x48]
or edx, dword [ebp - 0x68]
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x48], edx
jmp 0x444aa9
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xec], 0
mov dword [ebp - 0x24], 0x5f
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x2a
jne 0x442e63
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + edx]
and edx, 2
je 0x442e63
mov dword [ebp - 0x1e0], str.ACCEPT
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + ecx]
and ecx, 2
je 0x442d40
jmp 0x442d20
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x3a
jne 0x442d5e
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3b
jmp 0x444afa
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x442d7c
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3c
jmp 0x444af8
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x1e4], 0
jmp 0x442da6
mov eax, dword [ebp - 0x1e4]
add eax, 1
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 7
jge 0x442e3d
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
cmp edx, dword [ecx*8 + 0x487520]
jne 0x442e1b
mov eax, dword [ebp - 0x1e8]
push eax
mov ecx, dword [ebp - 0x1e0]
push ecx
mov edx, dword [ebp - 0x1ec]
push edx
call fcn.00449b21
add esp, 0xc
test eax, eax
jne 0x442e1b
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x1e4]
mov dl, byte [ecx*8 + 0x487524]
mov byte [eax], dl
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
cmp ecx, 0x6e
jne 0x442e19
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x4c], 1
jmp 0x442e3d
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ecx*8 + 0x487520]
mov eax, dword [ebp - 0x1e0]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x1e0], ecx
jmp 0x442d97
cmp dword [ebp - 0x1e4], 7
jge 0x442e4b
jmp 0x43fa5c
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3c
jmp 0x444af6
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x3f
jne 0x4440d2
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x270]
sub edx, 0x21
mov dword [ebp - 0x270], edx
cmp dword [ebp - 0x270], 0x5b
ja case.0x442eb0.1
mov eax, dword [ebp - 0x270]
movzx ecx, byte [eax + 0x444c7c]
jmp dword [ecx*4 + 0x444c40]
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
test ecx, ecx
je 0x442ee0
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x442ee0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x442ec0
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
test eax, eax
jne 0x442efd
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x12
jmp 0x444af4
jmp 0x43fa5c
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0x24], 0x5e
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x4440d0
mov dword [ebp - 0x24], 0x60
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3f
jne 0x442f5d
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 2]
cmp eax, 0x3d
je 0x442f58
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 2]
cmp edx, 0x21
je 0x442f58
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 2]
cmp ecx, 0x3c
jne 0x442f5d
jmp 0x4440d0
mov edx, dword [ebp - 0x30]
mov byte [edx + 3], 0x64
mov dword [ebp - 0xec], 3
mov dword [ebp - 0xe0], 0xffffffff
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x52
jne 0x442fac
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 2]
cmp eax, 0x26
jne 0x442fac
mov dword [ebp - 0xe4], 0xffffffff
mov ecx, dword [ebp - 0x2c]
add ecx, 2
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x30]
mov byte [edx + 3], 0x65
jmp 0x443025
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3c
jne 0x442fcd
mov dword [ebp - 0xe4], 0x3e
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x443025
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x27
jne 0x442fee
mov dword [ebp - 0xe4], 0x27
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x443025
mov dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x2d
je 0x443010
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
cmp eax, 0x2b
jne 0x443025
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + edx]
and edx, 0x10
jne 0x443057
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1c
jmp 0x444af2
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + edx]
and edx, 0x10
je 0x4430df
cmp dword [ebp - 0xc0], 0
jl 0x4430d4
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x487f98]
and edx, 4
je 0x4430be
mov eax, dword [ebp - 0xc0]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
lea eax, [eax + edx - 0x30]
mov dword [ebp - 0x274], eax
jmp 0x4430c8
mov dword [ebp - 0x274], 0xffffffff
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x443073
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x200]
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0xe4], 0
jle 0x443110
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp edx, eax
jne 0x443124
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp eax, 0x29
je 0x443140
mov edx, dword [ebp - 0x2c]
sub edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1a
jmp 0x444af0
cmp dword [ebp + 0x28], 0
je 0x44314b
jmp 0x4440d0
cmp dword [ebp - 0xe0], 0
jle 0x443201
cmp dword [ebp - 0xc0], 0
jg 0x443174
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3a
jmp 0x444aee
cmp dword [ebp - 0xe0], 0x2d
jne 0x443194
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x30]
sub eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0x278], eax
jmp 0x4431a6
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0xc0]
add edx, dword [ecx + 0x30]
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jle 0x4431c9
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0xc0]
cmp edx, dword [ecx + 0x34]
jle 0x4431dc
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x444aec
mov ecx, dword [ebp - 0xc0]
sar ecx, 8
mov edx, dword [ebp - 0x30]
mov byte [edx + 4], cl
mov eax, dword [ebp - 0xc0]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 5], al
jmp 0x4440d0
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x1f8], 0
jmp 0x443228
mov ecx, dword [ebp - 0x1f8]
add ecx, 1
mov dword [ebp - 0x1f8], ecx
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [edx + 0x28]
jge 0x443270
mov ecx, dword [ebp - 0x1fc]
push ecx
mov edx, dword [ebp - 0x204]
add edx, 2
push edx
mov eax, dword [ebp - 0x200]
push eax
call fcn.00449b21
add esp, 0xc
test eax, eax
jne 0x44325c
jmp 0x443270
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x204]
add edx, dword [ecx + 0x2c]
mov dword [ebp - 0x204], edx
jmp 0x443219
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x1f8]
cmp ecx, dword [eax + 0x28]
jge 0x4432c2
mov edx, dword [ebp - 0x204]
movzx eax, byte [edx]
shl eax, 8
mov ecx, dword [ebp - 0x204]
movzx edx, byte [ecx + 1]
or eax, edx
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
sar eax, 8
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 4], al
mov edx, dword [ebp - 0xc0]
and edx, 0xff
mov eax, dword [ebp - 0x30]
mov byte [eax + 5], dl
jmp 0x4434a4
mov ecx, dword [ebp - 0x64]
and ecx, 8
neg ecx
sbb ecx, ecx
neg ecx
push ecx
mov edx, dword [ebp - 0x1fc]
push edx
mov eax, dword [ebp - 0x200]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.004456c0
add esp, 0x10
mov dword [ebp - 0x1f8], eax
cmp dword [ebp - 0x1f8], 0
jle 0x44331e
mov edx, dword [ebp - 0x1f8]
sar edx, 8
mov eax, dword [ebp - 0x30]
mov byte [eax + 4], dl
mov ecx, dword [ebp - 0x1f8]
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 5], cl
jmp 0x4434a4
cmp dword [ebp - 0xe4], 0
je 0x44333f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x444aea
mov ecx, dword [ebp - 0x200]
movzx edx, byte [ecx]
cmp edx, 0x52
jne 0x443416
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x1f8], 1
jmp 0x443376
mov eax, dword [ebp - 0x1f8]
add eax, 1
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x1f8]
cmp ecx, dword [ebp - 0x1fc]
jge 0x4433d6
mov edx, dword [ebp - 0x200]
add edx, dword [ebp - 0x1f8]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x487f98]
and ecx, 4
jne 0x4433b2
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x444ae8
mov eax, dword [ebp - 0xc0]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x200]
add ecx, dword [ebp - 0x1f8]
movzx edx, byte [ecx]
lea eax, [eax + edx - 0x30]
mov dword [ebp - 0xc0], eax
jmp 0x443367
cmp dword [ebp - 0xc0], 0
jne 0x4433e9
mov dword [ebp - 0xc0], 0xffff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 3], 0x65
mov edx, dword [ebp - 0xc0]
sar edx, 8
mov eax, dword [ebp - 0x30]
mov byte [eax + 4], dl
mov ecx, dword [ebp - 0xc0]
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 5], cl
jmp 0x4434a4
cmp dword [ebp - 0x1fc], 6
jne 0x44344c
push 6
push str.DEFINE
mov eax, dword [ebp - 0x200]
push eax
call fcn.00449b21
add esp, 0xc
test eax, eax
jne 0x44344c
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 3], 0x66
mov dword [ebp - 0xec], 1
jmp 0x4434a4
cmp dword [ebp - 0xc0], 0
jle 0x443485
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0xc0]
cmp eax, dword [edx + 0x34]
jg 0x443485
mov ecx, dword [ebp - 0xc0]
sar ecx, 8
mov edx, dword [ebp - 0x30]
mov byte [edx + 4], cl
mov eax, dword [ebp - 0xc0]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 5], al
jmp 0x4434a4
mov edx, dword [ebp - 0xc0]
neg edx
sbb edx, edx
and edx, 0xffffffec
add edx, 0x23
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x444ae6
jmp 0x4440d0
mov dword [ebp - 0x24], 0x58
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x4440d0
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x29
jne 0x4434ed
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x6d
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 0
jmp 0x43fa5c
mov dword [ebp - 0x24], 0x59
jmp 0x4440d0
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x27c], dl
cmp byte [ebp - 0x27c], 0x21
je 0x44352b
cmp byte [ebp - 0x27c], 0x3d
je 0x443519
jmp 0x44353d
mov dword [ebp - 0x24], 0x5a
mov eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x2c], eax
jmp 0x443579
mov dword [ebp - 0x24], 0x5b
mov ecx, dword [ebp - 0x2c]
add ecx, 2
mov dword [ebp - 0x2c], ecx
jmp 0x443579
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + eax]
and eax, 0x10
je 0x44355d
jmp case.0x442eb0.6
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x18
jmp 0x444ae4
jmp 0x4440d0
mov dword [ebp - 0x24], 0x5d
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x4440d0
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0x7c], 1
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x53
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20c], 0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x487f98]
and ecx, 4
je 0x4435f2
mov edx, dword [ebp - 0x20c]
imul edx, edx, 0xa
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
lea edx, [edx + ecx - 0x30]
mov dword [ebp - 0x20c], edx
jmp 0x4435bc
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x29
je 0x443610
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x27
jmp 0x444ae2
cmp dword [ebp - 0x20c], 0xff
jle 0x44362f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x26
jmp 0x444ae0
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x20c]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ecx + 0x18]
add edx, 1
sar edx, 8
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ecx + 0x18]
add edx, 1
and edx, 0xff
mov eax, dword [ebp - 0x30]
mov byte [eax + 1], dl
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 2], 0
mov edx, dword [ebp - 0x30]
mov byte [edx + 3], 0
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 0
jmp 0x43fa5c
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x3d
je 0x4436b1
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x3e
jne 0x4436db
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x3e
sete dl
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xe4], 0x29
jmp 0x44396b
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x3c
je case.0x442eb0.6
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x29
jmp 0x444ade
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
sub ecx, 0x3c
neg ecx
sbb cl, cl
and cl, 0xe9
add cl, 0x3e
movsx edx, cl
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + eax]
and eax, 0x10
je 0x443747
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x443727
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x200]
mov dword [ebp - 0x1fc], edx
cmp dword [ebp + 0x28], 0
je 0x4437e1
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, dword [ebp - 0xe4]
je 0x443781
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x444adc
mov eax, dword [ebp + 0x24]
cmp dword [eax + 0x28], 0x2710
jl 0x4437a0
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x31
jmp 0x444ada
mov edx, dword [ebp - 0x1fc]
add edx, 3
mov eax, dword [ebp + 0x24]
cmp edx, dword [eax + 0x2c]
jle 0x4437dc
mov ecx, dword [ebp - 0x1fc]
add ecx, 3
mov edx, dword [ebp + 0x24]
mov dword [edx + 0x2c], ecx
cmp dword [ebp - 0x1fc], 0x20
jle 0x4437dc
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x444ad8
jmp 0x443935
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x1f8], 0
jmp 0x443808
mov eax, dword [ebp - 0x1f8]
add eax, 1
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x1f8]
cmp edx, dword [ecx + 0x28]
jge 0x4438d9
mov eax, dword [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 0x204]
add ecx, 2
push ecx
mov edx, dword [ebp - 0x200]
push edx
call fcn.0044db41
add esp, 0xc
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x443887
mov eax, dword [ebp - 0x204]
add eax, dword [ebp - 0x1fc]
movzx ecx, byte [eax + 2]
test ecx, ecx
jne 0x44387d
mov edx, dword [ebp - 0x64]
and edx, 0x80000
jne 0x44387b
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2b
jmp 0x444ad6
jmp 0x443887
mov dword [ebp - 0x210], 0xffffffff
cmp dword [ebp - 0x210], 0
jge 0x4438c2
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x28]
sub edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + 0x24]
imul edx, dword [eax + 0x2c]
push edx
mov ecx, dword [ebp - 0x204]
push ecx
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x204]
add eax, dword [edx + 0x2c]
push eax
call fcn.004497c0
add esp, 0xc
jmp 0x4438d9
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x204]
add edx, dword [ecx + 0x2c]
mov dword [ebp - 0x204], edx
jmp 0x4437f9
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x30]
add ecx, 1
sar ecx, 8
mov edx, dword [ebp - 0x204]
mov byte [edx], cl
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x30]
add ecx, 1
and ecx, 0xff
mov edx, dword [ebp - 0x204]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 0x200]
push ecx
mov edx, dword [ebp - 0x204]
add edx, 2
push edx
call fcn.0044d7e0
add esp, 0xc
mov eax, dword [ebp - 0x204]
add eax, dword [ebp - 0x1fc]
mov byte [eax + 2], 0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x28]
add eax, 1
mov ecx, dword [ebp + 0x24]
mov dword [ecx + 0x28], eax
jmp 0x4440e6
mov dword [ebp - 0xe4], 0x29
mov dword [ebp - 0xcc], 1
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + edx]
and edx, 0x10
je 0x44399d
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x44397d
mov ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x200]
mov dword [ebp - 0x1fc], ecx
cmp dword [ebp + 0x28], 0
je 0x443a1a
cmp dword [ebp - 0x1fc], 0
jne 0x4439ce
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3e
jmp 0x444ad4
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, dword [ebp - 0xe4]
je 0x4439ef
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2a
jmp 0x444ad2
cmp dword [ebp - 0x1fc], 0x20
jle 0x443a0b
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x444ad0
mov dword [ebp - 0xc0], 0
jmp 0x443b14
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x1f8], 0
jmp 0x443a41
mov eax, dword [ebp - 0x1f8]
add eax, 1
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x1f8]
cmp edx, dword [ecx + 0x28]
jge 0x443a9d
mov eax, dword [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 0x204]
add ecx, 2
push ecx
mov edx, dword [ebp - 0x200]
push edx
call fcn.00449b21
add esp, 0xc
test eax, eax
jne 0x443a89
mov eax, dword [ebp - 0x204]
add eax, dword [ebp - 0x1fc]
movzx ecx, byte [eax + 2]
test ecx, ecx
jne 0x443a89
jmp 0x443a9d
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x204]
add eax, dword [edx + 0x2c]
mov dword [ebp - 0x204], eax
jmp 0x443a32
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x1f8]
cmp edx, dword [ecx + 0x28]
jge 0x443acb
mov eax, dword [ebp - 0x204]
movzx ecx, byte [eax]
shl ecx, 8
mov edx, dword [ebp - 0x204]
movzx eax, byte [edx + 1]
or ecx, eax
mov dword [ebp - 0xc0], ecx
jmp 0x443b14
mov ecx, dword [ebp - 0x64]
and ecx, 8
neg ecx
sbb ecx, ecx
neg ecx
push ecx
mov edx, dword [ebp - 0x1fc]
push edx
mov eax, dword [ebp - 0x200]
push eax
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.004456c0
add esp, 0x10
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jg 0x443b14
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x444ace
cmp dword [ebp - 0xcc], 0
je 0x443b29
jmp 0x443caa
jmp 0x44472e
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xe4], 0x29
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xe0], 0x2b
jne 0x443b8b
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x487f98]
and eax, 4
jne 0x443b89
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3f
jmp 0x444acc
jmp 0x443bba
cmp dword [ebp - 0xe0], 0x2d
jne 0x443bba
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
movzx ecx, byte [eax + 0x487f98]
and ecx, 4
jne 0x443bb1
jmp case.0x442eb0.1
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x487f98]
and edx, 4
je 0x443bfa
mov eax, dword [ebp - 0xc0]
imul eax, eax, 0xa
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
lea eax, [eax + edx - 0x30]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x443bc4
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, dword [ebp - 0xe4]
je 0x443c1b
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1d
jmp 0x444aca
cmp dword [ebp - 0xe0], 0x2d
jne 0x443c73
cmp dword [ebp - 0xc0], 0
jne 0x443c40
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3a
jmp 0x444ac8
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x30]
sub ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 0
jg 0x443c71
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x444ac6
jmp 0x443caa
cmp dword [ebp - 0xe0], 0x2b
jne 0x443caa
cmp dword [ebp - 0xc0], 0
jne 0x443c98
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x444ac4
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0xc0]
add edx, dword [ecx + 0x30]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x214], edx
cmp dword [ebp + 0x28], 0
jne 0x443de3
mov eax, dword [ebp - 0x30]
mov byte [eax], 0
cmp dword [ebp - 0xc0], 0
je 0x443cf8
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xa0]
push edx
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x14]
push ecx
call fcn.0043f050
add esp, 0xc
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
jne 0x443d93
mov edx, dword [ebp - 0x64]
and edx, 8
neg edx
sbb edx, edx
neg edx
push edx
mov eax, dword [ebp - 0xc0]
push eax
push 0
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.004456c0
add esp, 0x10
test eax, eax
jge 0x443d3e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x444ac2
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x14]
add ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x30]
add edx, 4
mov eax, dword [ebp + 0x24]
sub edx, dword [eax + 0x14]
sar edx, 8
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x20]
mov byte [eax], dl
mov ecx, dword [ebp - 0x30]
add ecx, 4
mov edx, dword [ebp + 0x24]
sub ecx, dword [edx + 0x14]
and ecx, 0xff
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x20]
mov byte [edx + 1], cl
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x20]
add ecx, 2
mov edx, dword [ebp + 0x24]
mov dword [edx + 0x20], ecx
jmp 0x443de3
mov eax, dword [ebp - 0x214]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x214]
movzx eax, byte [edx + 2]
or ecx, eax
jne 0x443de3
mov ecx, dword [ebp - 0xa0]
push ecx
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x214]
push ecx
call fcn.004460e0
add esp, 0x10
test eax, eax
je 0x443de3
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x28
jmp 0x444ac0
mov eax, dword [ebp - 0x30]
mov byte [eax], 0x5d
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], 0
mov edx, dword [ebp - 0x30]
mov byte [edx + 2], 6
mov eax, dword [ebp - 0x30]
add eax, 3
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov byte [ecx], 0x52
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x214]
sub eax, dword [edx + 0x14]
sar eax, 8
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], al
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0x214]
sub eax, dword [edx + 0x14]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 2], al
mov edx, dword [ebp - 0x30]
add edx, 3
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov byte [eax], 0x55
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], 0
mov edx, dword [ebp - 0x30]
mov byte [edx + 2], 6
mov eax, dword [ebp - 0x30]
add eax, 3
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], 9
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x443e6c
mov dword [ebp - 0x18], 0xffffffff
jmp 0x43fa5c
mov dword [ebp - 0x1f0], 0
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0x1f4], ecx
lea edx, [ebp - 0x1f4]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
cmp ecx, 0x29
je 0x443fe2
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x3a
je 0x443fe2
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
mov dword [ebp - 0x280], edx
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x284]
sub edx, 0x2d
mov dword [ebp - 0x284], edx
cmp dword [ebp - 0x284], 0x4b
ja case.0x443efb.1
mov eax, dword [ebp - 0x284]
movzx ecx, byte [eax + 0x444cfc]
jmp dword [ecx*4 + 0x444cd8]
lea edx, [ebp - 0x1f0]
mov dword [ebp - 0x208], edx
jmp 0x443fdd
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax]
or ecx, 0x80000
mov edx, dword [ebp - 0x208]
mov dword [edx], ecx
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x44]
or ecx, 0x10
mov edx, dword [ebp + 0x24]
mov dword [edx + 0x44], ecx
jmp 0x443fdd
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax]
or ecx, 1
mov edx, dword [ebp - 0x208]
mov dword [edx], ecx
jmp 0x443fdd
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax]
or ecx, 2
mov edx, dword [ebp - 0x208]
mov dword [edx], ecx
jmp 0x443fdd
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax]
or ecx, 4
mov edx, dword [ebp - 0x208]
mov dword [edx], ecx
jmp 0x443fdd
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax]
or ecx, 8
mov edx, dword [ebp - 0x208]
mov dword [edx], ecx
jmp 0x443fdd
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax]
or ecx, 0x200
mov edx, dword [ebp - 0x208]
mov dword [edx], ecx
jmp 0x443fdd
mov eax, dword [ebp - 0x208]
mov ecx, dword [eax]
or ecx, 0x40
mov edx, dword [ebp - 0x208]
mov dword [edx], ecx
jmp 0x443fdd
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x444abe
jmp 0x443e93
mov edx, dword [ebp - 0x64]
or edx, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x1f0]
not eax
and edx, eax
mov dword [ebp - 0xc8], edx
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x29
jne 0x4440c0
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x14]
add ecx, 3
cmp dword [ebp - 0x30], ecx
jne 0x444034
cmp dword [ebp + 0x28], 0
je 0x444026
mov edx, dword [ebp + 0x28]
cmp dword [edx], 6
jne 0x444034
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0xc8]
mov dword [eax + 0x40], ecx
jmp 0x4440a3
mov edx, dword [ebp - 0x64]
and edx, 7
mov eax, dword [ebp - 0xc8]
and eax, 7
cmp edx, eax
je 0x44406d
mov ecx, dword [ebp - 0x30]
mov byte [ecx], 0x19
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0xc8]
and eax, 7
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0xc8]
and eax, 0x200
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
xor ecx, 1
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0xc8]
and edx, 1
neg edx
sbb edx, edx
and edx, 0x100
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x64]
mov dword [ecx], edx
mov dword [ebp - 4], 0
jmp 0x43fa5c
mov dword [ebp - 0x24], 0x5e
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x44411f
mov ecx, dword [ebp - 0x64]
and ecx, 0x1000
je 0x4440e6
mov dword [ebp - 0x24], 0x5e
jmp 0x44411f
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x30]
add eax, 1
mov ecx, dword [ebp + 0x24]
mov dword [ecx + 0x30], eax
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x30]
sar eax, 8
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 3], al
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x30]
and eax, 0xff
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 4], al
mov dword [ebp - 0xec], 2
xor edx, edx
cmp dword [ebp - 0x24], 0x5d
setl dl
sub edx, 1
and edx, dword [ebp - 0x30]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x30]
mov cl, byte [ebp - 0x24]
mov byte [eax], cl
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x48]
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x1c], 0
cmp dword [ebp - 0x24], 0x5a
je 0x44416d
cmp dword [ebp - 0x24], 0x5b
je 0x44416d
mov dword [ebp - 0x288], 0
jmp 0x444177
mov dword [ebp - 0x288], 1
mov edx, dword [ebp + 0x28]
neg edx
sbb edx, edx
lea eax, [ebp - 0x1c]
and edx, eax
push edx
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp + 0x20]
push edx
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xd8]
push ecx
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xa8]
push ecx
mov edx, dword [ebp - 0x64]
and edx, 7
push edx
mov eax, dword [ebp - 0xc8]
push eax
call fcn.0043f1e0
add esp, 0x34
test eax, eax
jne 0x4441e2
jmp 0x444abc
cmp dword [ebp - 0x24], 0x60
jne 0x4442b7
cmp dword [ebp + 0x28], 0
jne 0x4442b7
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x218], 0
mov edx, dword [ebp - 0x218]
add edx, 1
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x21c]
movzx ecx, byte [eax + 1]
shl ecx, 8
mov edx, dword [ebp - 0x21c]
movzx eax, byte [edx + 2]
or ecx, eax
add ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x21c], ecx
mov ecx, dword [ebp - 0x21c]
movzx edx, byte [ecx]
cmp edx, 0x55
jne 0x444209
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax + 3]
cmp ecx, 0x66
jne 0x44427c
cmp dword [ebp - 0x218], 1
jle 0x444273
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x36
jmp 0x444aba
mov dword [ebp - 0x24], 0x66
jmp 0x4442b7
cmp dword [ebp - 0x218], 2
jle 0x444298
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1b
jmp 0x444ab8
cmp dword [ebp - 0x218], 1
jne 0x4442b7
mov dword [ebp - 0xc4], 0xffffffff
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
cmp eax, 0x29
je 0x4442d5
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xe
jmp 0x444ab6
cmp dword [ebp + 0x28], 0
je 0x444366
mov edx, dword [ebp + 0x28]
mov eax, 0x7fffffeb
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1c]
sub ecx, 6
cmp eax, ecx
jge 0x444306
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x14
jmp 0x444ab4
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1c]
lea eax, [edx + ecx - 6]
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov edx, dword [ebp - 0x30]
mov byte [edx], 0x5e
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov byte [ecx], 0
mov edx, dword [ebp - 0x30]
mov byte [edx + 1], 3
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov byte [ecx], 0x55
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov byte [eax], 0
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], 3
mov edx, dword [ebp - 0x30]
add edx, 2
mov dword [ebp - 0x30], edx
jmp 0x444aa9
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x24], 0x66
jne 0x44437a
jmp 0x444aa9
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x98], edx
mov dword [ebp - 8], 0
cmp dword [ebp - 0x24], 0x5d
jl 0x444402
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x4443ca
cmp dword [ebp - 0xd8], 0
jl 0x4443b7
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], 1
jmp 0x4443be
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x98], 0xffffffff
jmp 0x4443ee
cmp dword [ebp - 0xd8], 0
jl 0x4443ee
cmp dword [ebp - 0xc4], 0
jge 0x4443ee
mov ecx, dword [ebp - 0xd8]
or ecx, dword [ebp - 0x88]
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0
jl 0x444400
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x80], edx
jmp 0x44441a
cmp dword [ebp - 0x24], 0x58
jne 0x44441a
cmp dword [ebp - 0xc4], 0
jl 0x44441a
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x80], eax
jmp 0x444aa9
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x94], ecx
push 0
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x30]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x2c]
push eax
call fcn.00444d50
add esp, 0x14
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
je 0x44445d
jmp 0x444ab2
cmp dword [ebp - 0x9c], 0
jge 0x4448d6
mov edx, dword [ebp - 0x9c]
neg edx
cmp edx, 0x1a
jne 0x4444a6
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x5c
jne 0x44449a
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 2]
cmp eax, 0x45
jne 0x44449a
mov ecx, dword [ebp - 0x2c]
add ecx, 2
mov dword [ebp - 0x2c], ecx
jmp 0x4444a1
mov dword [ebp - 0x6c], 1
jmp 0x43fa5c
mov edx, dword [ebp - 0x9c]
neg edx
cmp edx, 0x19
jne 0x4444b8
jmp 0x43fa5c
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x4444df
mov eax, dword [ebp - 0x9c]
neg eax
cmp eax, 5
jle 0x4444df
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 0x17
jge 0x4444df
mov dword [ebp - 0x18], 0xffffffff
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 0x1b
jne 0x444689
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
sub eax, 0x3c
neg eax
sbb al, al
and al, 0xe9
add al, 0x3e
movsx ecx, al
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], 0
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
cmp eax, 0x2b
je 0x44462a
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x2d
je 0x44462a
mov dword [ebp - 0x224], 1
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x220], eax
jmp 0x444589
mov ecx, dword [ebp - 0x220]
add ecx, 1
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x220]
movzx eax, byte [edx]
test eax, eax
je 0x4445e5
mov ecx, dword [ebp - 0x220]
movzx edx, byte [ecx]
cmp edx, dword [ebp - 0xe4]
je 0x4445e5
mov eax, dword [ebp - 0x220]
movzx ecx, byte [eax]
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + ecx]
and ecx, 4
jne 0x4445c9
mov dword [ebp - 0x224], 0
mov edx, dword [ebp - 0x220]
movzx eax, byte [edx]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + eax]
and eax, 0x10
jne 0x4445e3
jmp 0x4445e5
jmp 0x44457a
mov ecx, dword [ebp - 0x220]
movzx edx, byte [ecx]
cmp edx, dword [ebp - 0xe4]
je 0x444604
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x39
jmp 0x444aa9
cmp dword [ebp - 0x224], 0
je 0x44461b
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x443b46
mov dword [ebp - 0xcc], 1
jmp 0x44396b
mov edx, dword [ebp - 0x2c]
add edx, 2
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x220]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x487f98]
and edx, 4
je 0x44465c
mov eax, dword [ebp - 0x220]
add eax, 1
mov dword [ebp - 0x220], eax
jmp 0x444636
mov ecx, dword [ebp - 0x220]
movzx edx, byte [ecx]
cmp edx, dword [ebp - 0xe4]
je 0x44467b
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x39
jmp 0x444aa9
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
jmp 0x443b46
mov edx, dword [ebp - 0x9c]
neg edx
cmp edx, 0x1c
jne 0x44470c
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
cmp ecx, 0x3c
je 0x4446ba
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 1]
cmp eax, 0x27
je 0x4446ba
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 1]
cmp edx, 0x7b
jne 0x44470c
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx]
cmp edx, 0x3c
jne 0x4446e1
mov byte [ebp - 0x289], 0x3e
jmp 0x4446fa
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
sub ecx, 0x27
neg ecx
sbb cl, cl
and cl, 0x56
add cl, 0x27
mov byte [ebp - 0x289], cl
movsx edx, byte [ebp - 0x289]
mov dword [ebp - 0xe4], edx
jmp 0x44396b
mov eax, dword [ebp - 0x9c]
neg eax
cmp eax, 0x1d
jl 0x4447d2
mov ecx, dword [ebp - 0x9c]
neg ecx
sub ecx, 0x1d
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x44473b
mov dword [ebp - 0x18], 0xffffffff
mov edx, dword [ebp - 0x30]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x30]
mov byte [eax], 0x51
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0xc0]
sar edx, 8
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0xc0]
and ecx, 0xff
mov edx, dword [ebp - 0x30]
mov byte [edx + 1], cl
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0xc0], 0x20
jge 0x444797
mov edx, 1
mov ecx, dword [ebp - 0xc0]
shl edx, cl
mov dword [ebp - 0x290], edx
jmp 0x4447a1
mov dword [ebp - 0x290], 1
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x3c]
or ecx, dword [ebp - 0x290]
mov edx, dword [ebp + 0x24]
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [eax + 0x38]
jle 0x4447cd
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp - 0xc0]
mov dword [edx + 0x38], eax
jmp 0x4448d1
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 0xf
je 0x4447f0
mov edx, dword [ebp - 0x9c]
neg edx
cmp edx, 0x10
jne 0x444883
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x2c]
push eax
call fcn.00445330
add esp, 0x10
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
jge 0x444827
jmp 0x444ab0
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x9c]
neg edx
xor eax, eax
cmp edx, 0x10
sete al
xor ecx, ecx
cmp eax, dword [ebp - 0x228]
setne cl
add ecx, 0xf
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x230]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x22c]
mov byte [ecx], dl
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
jmp 0x4448d1
mov ecx, dword [ebp - 0x9c]
neg ecx
cmp ecx, 5
jle 0x4448a8
mov edx, dword [ebp - 0x9c]
neg edx
cmp edx, 0x17
jge 0x4448a8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x294], eax
jmp 0x4448b2
mov dword [ebp - 0x294], 0
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x9c]
neg edx
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
jmp 0x43fa5c
cmp dword [ebp - 0xa0], 0
je 0x444906
cmp dword [ebp - 0x9c], 0x7f
jle 0x444906
lea edx, [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00449010
add esp, 8
mov dword [ebp - 0xbc], eax
jmp 0x44491c
mov cl, byte [ebp - 0x9c]
mov byte [ebp - 0xb8], cl
mov dword [ebp - 0xbc], 1
jmp 0x44498c
mov dword [ebp - 0xbc], 1
mov dl, byte [ebp - 0x9c]
mov byte [ebp - 0xb8], dl
cmp dword [ebp - 0xa0], 0
je 0x44498c
cmp dword [ebp - 0x9c], 0xc0
jl 0x44498c
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 1]
and ecx, 0xc0
cmp ecx, 0x80
jne 0x44498c
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ecx]
mov byte [ebp + eax - 0xb8], dl
mov eax, dword [ebp - 0xbc]
add eax, 1
mov dword [ebp - 0xbc], eax
jmp 0x44494b
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x64]
and edx, 1
neg edx
sbb edx, edx
neg edx
add edx, 0x1c
mov eax, dword [ebp - 0x30]
mov byte [eax], dl
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x9c], 0
jmp 0x4449ca
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xbc]
jge 0x4449f5
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x9c]
mov al, byte [ebp + edx - 0xb8]
mov byte [ecx], al
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
jmp 0x4449bb
movzx edx, byte [ebp - 0xb8]
cmp edx, 0xd
je 0x444a0d
movzx eax, byte [ebp - 0xb8]
cmp eax, 0xa
jne 0x444a1c
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x44]
or edx, 0x20
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x44], edx
cmp dword [ebp - 0x18], 0xfffffffe
jne 0x444a78
mov dword [ebp - 0x98], 0xffffffff
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xbc], 1
je 0x444a41
cmp dword [ebp - 0x78], 0
jne 0x444a69
movzx edx, byte [ebp - 0xb8]
or edx, dword [ebp - 0x78]
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0xbc], 1
je 0x444a67
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax - 1]
mov edx, dword [ebp + 0x24]
or ecx, dword [edx + 0x48]
mov dword [ebp - 0x80], ecx
jmp 0x444a76
mov dword [ebp - 0x80], 0xffffffff
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x18], eax
jmp 0x444aa9
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xbc], 1
je 0x444a96
cmp dword [ebp - 0x78], 0
jne 0x444aa9
mov eax, dword [ebp - 0x30]
movzx ecx, byte [eax - 1]
or ecx, dword [ebp - 0x78]
mov edx, dword [ebp + 0x24]
or ecx, dword [edx + 0x48]
mov dword [ebp - 0x80], ecx
jmp 0x43fa5c
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
jmp 0x444b02
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor ecx, ebp
call fcn.00449592
mov esp, ebp
pop ebp
ret