Function at 0x428f89
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x468
mov esi, esp
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x54], eax
mov esp, eax
push eax
push eax
mov dword [esi + 0x18], esp
sub esp, 0x24
mov edi, esp
mov dword [esi + 0x58], edi
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x60], 0x138e1183
mov dword [esi + 0x64], 0x1fff1df1
mov dword [esi + 0x68], 0x1bcc198d
mov dword [esi + 0x6c], 0x79e05e9
mov dword [esi + 0x70], 0x30201ed
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x13
ja 0x42733f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [esi + ecx + 0x60]
mov edx, eax
xor edx, 0xba1e28c4
and eax, 0x3a1e28c4
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
mov ecx, eax
not ecx
and ecx, 0xd4
and eax, 0x2b
sub eax, ecx
mov ecx, dword [esi]
mov byte [esi + ecx + 0x60], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x14
jb 0x427300
lea eax, [esi + 0x60]
lea ecx, [esi + 0x40]
push eax
call fcn.0043b670
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44a2c8]
lea ecx, [esi + 0x40]
push 0x410
call fcn.0043b8b0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44a2d0]
mov dword [esi + 0x60], 0xea03d8e5
mov dword [esi + 0x64], 0xd0ea0de0
mov dword [esi + 0x68], 0xece5e301
mov dword [esi + 0x6c], 0xf7dee605
mov dword [esi + 0x70], 0x20fbf206
mov dword [esi + 0x74], 0x1ffcf6fd
mov dword [esi + 0x78], 0x1219fe1a
mov dword [esi + 0x7c], 0x16ff14f3
mov dword [esi + 0x80], 0xe6101612
mov dword [esi + 0x84], 0xee3f511
mov dword [esi + 0x88], 0xabfae1e1
mov dword [esi + 0x8c], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x2f
ja 0x427407
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [esi + ecx + 0x60]
add eax, 0x24211c70
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0xd0
mov ecx, dword [esi]
mov byte [esi + ecx + 0x60], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x30
jb 0x4273e0
lea eax, [esi + 0x34]
lea ecx, [esi + 0x40]
push 0
push 0x2b
lea edx, [esi + 0x60]
push edx
push eax
call fcn.0043c570
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
xor eax, eax
cmp ecx, edx
sete al
mov dword [esi + 0x30], edx
jmp dword [eax*4 + 0x44a2d8]
mov eax, edx
sub eax, ecx
sar eax, 3
imul eax, eax, 0x421
push eax
mov ebx, ecx
call fcn.0040c470
mov edx, dword [esi + 0x30]
mov ecx, ebx
add esp, 4
jmp dword [0x44a2e8]
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], eax
mov ebx, eax
jmp 0x42748f
mov ecx, dword [esi + 0x5c]
add ecx, 8
mov edi, dword [esi + 0x58]
mov ebx, dword [esi + 0x14]
mov edx, dword [esi + 0x30]
mov eax, dword [case.0x42742b.9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, edx
setne al
jmp dword [eax*4 + 0x44a300]
mov dword [esi + 0x14], ebx
mov eax, dword [ecx]
mov dword [esi + 4], eax
mov dword [esi + 0x5c], ecx
mov ebx, dword [ecx + 4]
push 0x400
push 0
lea eax, [esi + 0x60]
push eax
call fcn.0040c520
add esp, 0xc
lea ecx, [esi + 0x40]
mov edi, dword [esi + 0x54]
push edi
push 0
push 0x400
lea eax, [esi + 0x60]
push eax
push ebx
push dword [esi + 4]
call fcn.0043c310
cmp eax, 0xc0000000
setae al
mov ecx, dword [edi]
or ecx, dword [edi + 4]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44a320]
mov eax, 1
jmp dword [eax*4 + 0x44a328]
xor eax, eax
jmp dword [eax*4 + 0x44a328]
mov byte [esi + 0x45f], 0
mov eax, dword [case.0x42742b.24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
movzx eax, byte [esi + 0x60]
xor edi, edi
test al, al
je 0x427561
lea ecx, [esi + 0x60]
nop
cmp al, 0x2e
je 0x42755f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x427550
jmp 0x427561
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44a340]
movzx eax, byte [edi + 1]
inc edi
xor ebx, ebx
test al, al
je 0x427591
mov ecx, edi
nop
nop
nop
nop
cmp al, 0x2e
je 0x42758f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x427580
jmp 0x427591
mov ebx, ecx
mov eax, dword [case.0x427568.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44a358]
mov dword [esi + 4], ebx
sub ebx, edi
mov eax, ebx
and eax, 3
mov edx, ebx
or edx, 3
imul edx, eax
xor eax, 3
mov ecx, ebx
and ecx, 0xfffffffc
imul ecx, eax
add edx, ecx
shr edx, 2
mov eax, dword [esi + 4]
mov ecx, eax
movzx eax, byte [eax - 1]
cmp eax, 0x3d
je 0x4275e5
cmp eax, 0x2e
jne 0x4275e6
dec edx
movzx eax, byte [edi + ebx - 2]
cmp eax, 0x3d
mov dword [esi + 0x28], ebx
je 0x4275f8
cmp eax, 0x2e
jne 0x4275f9
dec edx
mov ebx, ecx
mov dword [esi + 0x50], edx
lea eax, [edx + 1]
push eax
call fcn.0040c470
add esp, 4
mov dword [esi + 0x1c], eax
mov dword [esi + 0x2c], edi
cmp ebx, edi
je 0x427708
xor edx, edx
mov edi, 2
jmp 0x427640
mov edx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x427708
mov dword [esi + 4], edx
mov ebx, dword [esi + 0x2c]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.0041dbd0
add esp, 4
mov byte [esi + 0xc], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.0041dbd0
add esp, 4
mov bh, al
movzx ecx, byte [esi + 0xc]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 4]
mov byte [ecx + edx], al
mov eax, edx
inc edx
mov ecx, dword [esi + 0x28]
cmp edi, ecx
jae 0x427630
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + edi]
push eax
mov dword [esi + 0xc], edx
call fcn.0041dbd0
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x28]
add esp, 4
cmp al, 0x40
je 0x427630
shl bh, 4
mov byte [esi + 0xb], al
shr al, 2
and al, 0xf
or al, bh
mov ebx, dword [esi + 4]
lea edx, [ebx + 2]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x1c]
mov byte [edx + ebx + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x427621
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0041dbd0
mov ecx, dword [esi + 0x28]
add esp, 4
cmp al, 0x40
mov edx, dword [esi + 0xc]
mov ah, byte [esi + 0xb]
je 0x427630
shl ah, 6
add al, ah
mov edx, dword [esi + 0x1c]
mov ebx, dword [esi + 4]
mov byte [edx + ebx + 2], al
add ebx, 3
mov edx, ebx
jmp 0x427630
mov eax, dword [esi + 0x50]
mov edi, dword [esi + 0x1c]
mov byte [edi + eax], 0
push edi
call fcn.00403bf0
add esp, 4
mov ebx, eax
jmp dword [0x44a360]
jmp dword [0x44a36c]
mov edx, dword [esi + 0x18]
mov dword [edx], 0x57f8f4f7
mov dword [edx + 4], 0
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 7
ja 0x42778e
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x18]
movzx edx, byte [edi + edx]
mov edi, ecx
xor edi, 0x92dea86e
and ecx, 0x12dea86e
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esi], ecx
mov ecx, dword [esi]
add cl, 0xda
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x18]
mov byte [edi + edx], cl
mov edx, dword [esi + 0x18]
inc dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, 8
jb 0x427750
push edx
push eax
call fcn.00404480
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a380]
mov edx, dword [esi + 0x14]
jmp 0x4277d3
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esi + 0x14]
je 0x4277cb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4277c0
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esi + 0x60]
test al, al
je 0x4277eb
lea ecx, [esi + 0x61]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4277e0
mov byte [edx], 0xa
inc edx
mov dword [esi + 0x14], edx
mov al, 1
mov dword [esi + 0x24], eax
jmp dword [0x44a388]
push ebx
call fcn.004047a0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.004047a0
add esp, 4
jmp dword [0x44a394]
jmp dword [0x44a388]
push ebx
call fcn.00404530
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a378]
push edi
call fcn.0040c480
add esp, 4
push edi
call fcn.0040c480
add esp, 4
jmp dword [0x44a370]
xor ebx, ebx
test ecx, ecx
jne 0x427939
jmp case.0x427350.1
mov eax, dword [esi + 0x24]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44a318]
mov ebx, dword [esi + 0x24]
jmp dword [0x44a398]
mov byte [ebx], 0
mov dword [edi], 0x3d3a3bd3
mov dword [edi + 4], 0x9393a3f
mov dword [edi + 8], 0xc303233
mov dword [edi + 0xc], 0x261232f1
mov dword [edi + 0x10], 0x35eb2823
mov dword [edi + 0x14], 0x272d2229
mov dword [edi + 0x18], 0x191ee119
mov word [edi + 0x1c], 0xef1c
mov dword [edi + 0x1e], 0
mov byte [edi + 0x22], 0
sub ebx, dword [esi + 0x20]
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x22
ja 0x42790c
nop
mov eax, dword [esi]
mov ecx, dword [esi]
movzx ecx, byte [edi + ecx]
mov edx, eax
xor edx, 0xb3897aa3
and eax, 0x33897aa3
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov ecx, eax
not ecx
and ecx, 0x2f
and eax, 0xd0
sub eax, ecx
mov ecx, dword [esi]
mov byte [edi + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x23
jb 0x4278d0
mov ecx, dword [ebp + 8]
push ebx
push dword [esi + 0x20]
push edi
call fcn.0040d040
mov ebx, eax
jmp dword [0x44a398]
push dword [esi + 0x20]
call fcn.0040c480
add esp, 4
and bl, 1
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
test ecx, ecx
je case.0x427350.1
cmp ecx, edx
je case.0x427350.1
push ecx
call fcn.0040c480
add esp, 4
lea ecx, [esi + 0x40]
call fcn.0043ba50
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor edx, edx
test ecx, ecx
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44a3f8]
jmp dword [ecx*4 + 0x44a3a0]
mov dword [esp + 0x2c], 0x69dc6bd8
mov dword [esp + 0x30], 0x6da76fa3
mov dword [esp + 0x34], 0x51e753a3
mov dword [esp + 0x38], 0x55e057e4
mov dword [esp + 0x3c], 0x59e65beb
mov dword [esp + 0x40], 0x5d995feb
mov dword [esp + 0x44], 0x418a4399
mov dword [esp + 0x48], 0x45f4478f
mov dword [esp + 0x4c], 0x49f64b8f
mov dword [esp + 0x50], 0x4dff4ffd
mov dword [esp + 0x54], 0x31863386
mov dword [esp + 0x58], 0x35f13789
mov dword [esp + 0x5c], 0x39f13b82
mov dword [esp + 0x60], 0x3d843f84
mov dword [esp + 0x64], 0x218e239b
mov dword [esp + 0x68], 0x258d27ba
mov dword [esp + 0x6c], 0x299f2b98
mov dword [esp + 0x70], 0x2d852fbc
mov dword [esp + 0x74], 0x1181138b
mov dword [esp + 0x78], 0x1710
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x4f
ja 0x427aaa
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov esi, edx
xor esi, 0x356b6e97
mov ebx, edx
xor ebx, 0x4a949168
or edx, 0x356b6e97
and edx, ebx
lea esi, [esi + edx*2]
mov edx, esi
and edx, ecx
add ecx, esi
sub ecx, edx
mov esi, 0x151e6aff
sub esi, ecx
and esi, edx
not edx
and edx, ecx
sub edx, esi
mov dword [esp + 8], edx
mov ecx, dword [esp + 8]
add cl, 0xd
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x50
jb 0x427a50
lea ecx, [esp + 0x18]
lea ebx, [esp + 0x2c]
push 0
push 0
push eax
push ecx
push ebx
call fcn.00442540
add esp, 0x14
shr eax, 0x1f
mov ecx, 4
jmp dword [eax*4 + 0x44a3a8]
lea ebp, [esp + 0x90]
lea eax, [esp + 0x28]
push ebp
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x38]
call fcn.004429d0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a3b0]
mov ecx, dword [esp + 0x90]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x427b17
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov esi, eax
mov dword [esp + 0x2c], 0xf140ffa7
mov dword [esp + 0x30], 0xf546f345
mov dword [esp + 0x34], 0xc94af757
mov dword [esp + 0x38], 0xcd9acb74
mov dword [esp + 0x3c], 0xc17acf6f
mov dword [esp + 0x40], 0xc5c2c378
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x427bd5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
not edx
or edx, 0xba71dd5
add edx, eax
xor eax, 0xba71dd5
lea edx, [edx*2 + 2]
mov edi, edx
and edi, eax
xor eax, edx
lea edx, [eax + edi*2]
lea eax, [edx + ecx]
and edx, ecx
mov ecx, eax
xor ecx, edx
mov edi, edx
not edi
and eax, edi
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
and ecx, edx
and eax, edi
sub eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xd7
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x427b70
push ebp
push esi
push 0
push ebx
push dword [esp + 0x28]
call fcn.00443060
add esp, 0x14
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x44a3b8]
xor edi, edi
jmp dword [0x44a3c0]
push esi
call fcn.0040c480
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov dword [esp], 0x585b5a45
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x427c63
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xd38f
xor ecx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
add cl, 0x35
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x427c30
mov ecx, dword [0x44e374]
test ecx, ecx
je 0x427ca0
mov edx, dword [esp]
xor esi, esi
mov ebp, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + esi*8], 0x625b6034
je 0x427c91
inc esi
cmp ecx, esi
jne 0x427c80
jmp 0x427ca0
mov ecx, dword [ebp + esi*8 + 4]
cmp ecx, edx
jne case.default.0x427ca7
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44a3c8]
push ebx
call fcn.00441a70
add esp, 4
cmp dword [esp + 0x2c], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44a3d0]
xor ecx, ecx
jmp 0x427cf5
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44a3c8]
mov ecx, 2
mov eax, dword [case.0x427ac9.1]
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 4
setl al
jmp dword [eax*4 + 0x44a3e8]
xor edx, edx
cmp ecx, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x44a3f0]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44a400]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x427d40
sub eax, edi
cmp eax, 0xffffffd9
jge 0x427d60
mov eax, 0xffffffff
jmp 0x427d63
xor eax, eax
jmp 0x428e42
add eax, 0x26
push eax
call fcn.0040c470
add esp, 4
mov ebx, eax
mov dword [esp + 0x2c], 0x8f298924
mov dword [esp + 0x30], 0x83308d3f
mov dword [esp + 0x34], 0x873f813a
mov dword [esp + 0x38], 0x9b36853f
mov dword [esp + 0x3c], 0x9f2d993f
mov dword [esp + 0x40], 0x93289d2e
mov dword [esp + 0x44], 0x972d9129
mov dword [esp + 0x48], 0xeb6095e6
mov dword [esp + 0x4c], 0xef54e94c
mov dword [esp + 0x50], 0xedec
mov byte [esp + 0x54], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x28
ja 0x427e3b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
xor edx, 0x54afaba2
and eax, 0xd4afaba2
lea edx, [edx + eax*2]
lea eax, [edx + ecx]
mov esi, ecx
not esi
or esi, edx
add ecx, esi
inc ecx
mov edx, eax
not edx
and edx, ecx
mov esi, ecx
not esi
and eax, esi
sub eax, edx
mov edx, eax
not edx
and edx, ecx
and eax, esi
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xd6
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x29
jb 0x427de0
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x427e61
lea edx, [edi + 2]
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x427e50
mov word [eax], 0
movzx ecx, word [esp + 0x2c]
test cx, cx
je 0x427e91
lea edx, [esp + 0x2e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x427e80
mov word [eax], 0
jmp dword [0x44a408]
push edi
call fcn.0040c480
add esp, 4
movzx eax, word [ebx]
mov ecx, dword [case.0x427ce8.21]
nop
nop
jmp ecx
mov ecx, dword [case.0x427ce8.24]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp ax, 0x5b
sete cl
jmp dword [ecx*4 + 0x44a430]
mov dword [esp + 0x2c], 0x51344f09
mov dword [esp + 0x30], 0x55f7530c
mov dword [esp + 0x34], 0x59f857e5
mov dword [esp + 0x38], 0x5df15bfe
mov dword [esp + 0x3c], 0xa1025ff5
mov dword [esp + 0x40], 0xa513a305
mov dword [esp + 0x44], 0xa900a70a
mov dword [esp + 0x48], 0xad03ab03
mov dword [esp + 0x4c], 0xb118afc2
mov dword [esp + 0x50], 0xb514b314
mov dword [esp + 0x54], 0xb7b4
mov byte [esp + 0x58], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2c
ja 0x427f79
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
xor edx, 0x4acd4ced
and eax, 0xcacd4ced
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x5f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2d
jb 0x427f40
lea eax, [esp + 0x2c]
push 0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x18]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x94], ebx
push ebx
call fcn.00441ca0
add esp, 0x14
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44a438]
lea eax, [esp + 0x28]
push 0
push eax
push dword [esp + 0x20]
call fcn.00442060
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44a440]
mov esi, dword [esp + 0x28]
lea eax, [esi + 1]
push eax
call fcn.0040c470
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.00442170
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44a448]
mov esi, dword [esp + 0x28]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c470
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x7c], eax
mov ecx, eax
push esi
mov dword [esp + 0x98], edi
push edi
call fcn.0042af70
movzx eax, al
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44a450]
mov dword [esp + 0x2c], 0xbb4c4a57
mov dword [esp + 0x30], 0x4ebc54bf
mov dword [esp + 0x34], 0x3b2f5b03
mov dword [esp + 0x38], 0x247930c6
mov dword [esp + 0x3c], 0x322734c4
mov dword [esp + 0x40], 0x3c3d0477
mov dword [esp + 0x44], 0xd32ccc33
mov dword [esp + 0x48], 0x5dd3
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x428100
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
xor edx, 0xa8ea8b36
and eax, 0x28ea8b36
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0xf2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x4280c0
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0x7c]
push eax
call fcn.0042b1c0
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44a458]
jmp dword [0x44a478]
mov esi, dword [esp + 0x7c]
mov ecx, esi
call fcn.0042b340
push esi
call fcn.0040c480
add esp, 4
mov eax, dword [case.0x427fae.4]
mov edi, dword [esp + 0x94]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44a490]
push edi
call fcn.0040c480
add esp, 4
jmp dword [0x44a498]
jmp dword [0x44a498]
mov ecx, dword [eax + 8]
mov eax, dword [case.0x428117.5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ebp, ebp
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x20], 0
jmp dword [eax*4 + 0x44a470]
not eax
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov dword [ebx + ecx + 4], eax
add ebp, 8
mov ecx, dword [esp + 0x8c]
mov ecx, dword [ecx + 4]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebx
jmp dword [eax*4 + 0x44a470]
mov dword [esp + 0x8c], ecx
mov esi, dword [ecx]
mov ebx, ebp
sub ebx, edi
mov ecx, dword [esp + 0x20]
cmp ebp, ecx
mov dword [esp + 0x10], ebx
jne 0x42825e
mov eax, ebx
sar eax, 3
inc eax
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x4281fb
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040c470
add esp, 4
mov ebp, eax
test edi, edi
je 0x42824d
cmp edi, dword [esp + 0x20]
je 0x428244
mov edx, ebp
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, dword [esp + 0x20]
jne 0x428220
push edi
call fcn.0040c480
add esp, 4
lea ecx, [ebx*8]
add ecx, ebp
mov edi, ebp
mov ebx, dword [esp + 0x10]
add ebp, ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x80], ebp
mov dword [edi + ebx], 0
mov dword [edi + ebx + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne 0x428280
add eax, esi
dec eax
mov ecx, esi
not ecx
and ecx, eax
xor eax, esi
add ecx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x88], eax
sub ecx, eax
mov dword [esp + 0x14], ecx
lea ebp, [ecx + 1]
push ebp
call fcn.0040c470
add esp, 4
mov dword [esp + 0x24], edi
mov dword [edi + ebx], eax
mov ecx, ebp
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebp
and edx, 0xfffffffc
add eax, edx
add edx, esi
and ebp, 3
mov ecx, ebp
shr ecx, 1
mov ebx, edx
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov edi, dword [esp + 0x14]
lea ecx, [ebp + 1]
not ebp
or ebp, 1
add ebp, ecx
je 0x42830a
mov ebx, edi
or ebx, 0xfffffffe
add ecx, ebx
add edx, ecx
add eax, ecx
push ebp
push edx
push eax
call fcn.0040c4a0
add esp, 0xc
test edi, edi
mov ebp, dword [esp + 0x80]
je 0x42832e
mov ecx, edi
mov eax, dword [esp + 0x88]
inc eax
cmp dword [esp + 0x1c], eax
jne 0x428335
mov ebx, ecx
mov eax, 0xffffffff
jmp 0x428387
xor eax, eax
jmp 0x4281a2
mov ebx, ecx
and ecx, 0xfffffffe
mov eax, 0xffffffff
nop
mov edx, eax
movzx edi, byte [esi]
xor edi, eax
shr eax, 8
or edx, 0xff
xor edi, 0x3fffff00
and edi, edx
xor eax, dword [edi*4 + 0x445c28]
mov edx, eax
movzx edi, byte [esi + 1]
xor edi, eax
shr eax, 8
or edx, 0xff
xor edi, 0x3fffff00
and edi, edx
xor eax, dword [edi*4 + 0x445c28]
add esi, 2
add ecx, 0xfffffffe
jne 0x428340
test bl, 1
je 0x4281a0
mov ecx, eax
movzx edx, byte [esi]
xor edx, eax
shr eax, 8
or ecx, 0xff
xor edx, 0x3fffff00
and edx, ecx
xor eax, dword [edx*4 + 0x445c28]
jmp 0x4281a0
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.0040c470
add esp, 4
push 0
push esi
mov dword [esp + 0x84], eax
push eax
push dword [esp + 0x34]
call fcn.00442170
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x44a4c8]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x7c]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c470
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x98], eax
mov ecx, eax
push esi
push edi
call fcn.0042af70
movzx eax, al
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x44a4d0]
mov dword [esp + 0x2c], 0xebdc9ab7
mov dword [esp + 0x30], 0xdeecd4ef
mov dword [esp + 0x34], 0xebdfcb23
mov dword [esp + 0x38], 0xc429d0e6
mov dword [esp + 0x3c], 0xf2c7d4e4
mov dword [esp + 0x40], 0xf1f12a37
mov dword [esp + 0x44], 0xf3c1ccf2
mov dword [esp + 0x48], 0xc3c5cc23
mov word [esp + 0x4c], 0x69c5
mov dword [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x25
ja 0x4284fe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
add eax, 0x93b511be
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x4a
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x26
jb 0x4284d0
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x2c]
push eax
call fcn.0042b1c0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp dword [ecx*4 + 0x44a4d8]
jmp dword [0x44a560]
mov esi, dword [esp + 0x98]
mov ecx, esi
call fcn.0042b340
push esi
call fcn.0040c480
add esp, 4
jmp dword [0x44a568]
jmp dword [0x44a568]
push dword [esp + 0x7c]
call fcn.0040c480
add esp, 4
jmp case.0x428f70.2
add eax, 8
mov dword [esp + 0x1c], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x24], ebx
jmp dword [eax*4 + 0x44a4e0]
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44a4e0]
mov edx, dword [edi]
cmp dword [edi + 0x18], 3
mov esi, 0
jne case.default.0x4285c7
mov esi, dword [edi + 0x10]
test edx, edx
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44a4e8]
mov dword [esp + 0x20], edx
mov dword [esp + 0x88], edi
mov ecx, esi
nop
nop
nop
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x428622
mov ecx, eax
xor ecx, esi
mov edx, esi
not edx
and edx, eax
add edx, edx
sub edx, ecx
mov eax, edx
and eax, 1
lea eax, [edx + eax*2]
shr eax, 1
mov dword [esp + 0x94], eax
inc eax
push eax
call fcn.0040c470
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x84], eax
jmp dword [edx*4 + 0x44a4f0]
mov byte [eax], cl
inc eax
movsx ecx, byte [ebp]
xor ebx, ebx
test ecx, ecx
setne bl
mov esi, ebp
jmp dword [ebx*4 + 0x44a4f0]
lea ebp, [esi + 1]
mov edi, ecx
or edi, 0x20
add edi, 0xffffff9f
cmp edi, 5
ja case.default.0x42866f
mov edi, ecx
or edi, 0xfffffffe
and ecx, 0xffffff9e
add ecx, edi
add ecx, 0xb
movsx ebx, byte [ebp]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x44a4f8]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x428698
mov ecx, 0xffffffff
movsx ebx, byte [ebp]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x44a4f8]
shl ecx, 4
add esi, 2
mov edx, ebx
or edx, 0x20
add edx, 0xffffff9f
cmp edx, 5
ja case.default.0x4286ce
mov edx, ebx
or edx, 0xfffffffe
and ebx, 0xffffff9e
add edx, ebx
add edx, 0xb
or edx, ecx
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44a4f0]
add ebx, 0xffffffd0
cmp ebx, 0xa
jb case.default.0x4286fc
mov ebx, 0xffffffff
or ebx, ecx
mov byte [eax], bl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x44a4f0]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x2c]
call fcn.0042b3e0
add esp, 0x10
mov dword [esp + 0x20], eax
xor esi, esi
mov ecx, dword [case.0x428526.19]
xor eax, eax
mov ebp, dword [esp + 0x24]
cmp ebp, dword [esp + 0x80]
setne al
jmp dword [eax*4 + 0x44a500]
mov ebx, dword [ebp + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or ebx, 1
xor edi, edx
xor ebx, dword [esp + 0x20]
xor eax, eax
or ebx, edi
sete al
jmp dword [eax*4 + 0x44a508]
mov eax, 1
jmp dword [eax*4 + 0x44a510]
mov esi, dword [ebp]
xor ebx, ebx
jmp dword [ebx*4 + 0x44a510]
add ebp, 8
nop
jmp ecx
xor ebx, ebx
cmp ebp, dword [esp + 0x80]
setne bl
jmp dword [ebx*4 + 0x44a500]
mov eax, dword [case.0x428526.22]
mov edi, dword [esp + 0x88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
mov ebp, dword [esp + 0x80]
jmp dword [eax*4 + 0x44a538]
mov ebx, dword [esp + 0x24]
jmp dword [0x44a548]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x30], eax
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax], 0
lea eax, [eax + 1]
jne case.default.0x428854
add eax, esi
dec eax
mov ecx, esi
not ecx
and ecx, eax
xor eax, esi
add ecx, ecx
sub ecx, eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44e380]
call fcn.004411b0
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x44]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [esp + 0x24]
jmp dword [ecx*4 + 0x44a540]
jmp dword [0x44a548]
movzx eax, byte [esi]
test al, al
je 0x42887d
inc esi
mov ecx, dword [esp + 0x14]
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x428870
jmp 0x428881
mov ecx, dword [esp + 0x14]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp]
test esi, esi
je 0x4288bb
mov ecx, dword [esp + 4]
mov edx, esi
and edx, 3
je 0x4288bf
xor edi, edi
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x4288a0
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x4288c1
mov edi, eax
jmp 0x428909
mov edx, esi
cmp esi, 4
jb 0x428909
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x4288d0
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x14], edi
push 0xe050b307
push dword [0x44e368]
call fcn.004411b0
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x88]
jmp dword [0x44a548]
push dword [esp + 0x84]
call fcn.0040c480
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44a4e0]
push dword [esp + 0x8c]
call fcn.0040c480
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x44a578]
mov esi, dword [esp + 0x14]
mov byte [esi], 0
sub esi, dword [esp + 0x10]
mov ebx, edi
mov dword [esp + 0x2c], 0x535e5989
mov dword [esp + 0x30], 0x57a3aa55
mov dword [esp + 0x34], 0x50545259
mov dword [esp + 0x38], 0x9e6eb297
mov dword [esp + 0x3c], 0x8bad6499
mov dword [esp + 0x40], 0x6197626f
mov dword [esp + 0x44], 0x7f62a367
mov word [esp + 0x48], 0xf560
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x428a29
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x2c]
mov edx, eax
xor edx, 0x3b033852
and eax, 0x3b033852
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x66
mov ecx, dword [esp]
mov byte [esp + ecx + 0x2c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x4289f0
mov ecx, dword [esp + 0xb0]
push esi
push dword [esp + 0x14]
lea eax, [esp + 0x34]
push eax
call fcn.0040d040
mov ecx, dword [case.0x428f70.53]
jmp case.0x428f70.50
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x30]
call fcn.00442060
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x44a4c0]
mov edi, ebx
mov eax, dword [esp + 0x28]
mov dword [esp], 0x585b5a45
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x428ad3
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xd38f
xor ecx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
add cl, 0x35
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x428aa0
mov ecx, dword [0x44e374]
test ecx, ecx
je 0x428b08
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x428b00
inc esi
cmp ecx, esi
jne 0x428af0
jmp 0x428b08
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x428b12
mov ebx, dword [esp + 0x1c]
jmp dword [0x44a570]
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
mov ebx, dword [esp + 0x1c]
jmp dword [0x44a570]
jmp dword [0x44a590]
push dword [esp + 0x10]
mov esi, eax
call fcn.0040c480
mov eax, esi
add esp, 4
and al, 1
test ebx, ebx
jne 0x428cab
jmp 0x428e42
mov eax, dword [esp + 0x18]
mov dword [esp], 0x585b5a45
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x428ba3
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xd38f
xor ecx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
add cl, 0x35
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x428b70
mov ecx, dword [0x44e374]
test ecx, ecx
je case.0x428117.16
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x428bd0
inc esi
cmp ecx, esi
jne 0x428bc0
jmp case.0x428117.16
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x428117.16
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp], 0x585b5a45
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x428c43
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xd38f
xor ecx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
add cl, 0x35
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x428c10
mov ecx, dword [0x44e374]
test ecx, ecx
je 0x428c78
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x428c70
inc esi
cmp ecx, esi
jne 0x428c60
jmp 0x428c78
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x428cdc
jmp dword [0x44a4a0]
jmp dword [0x44a4a8]
push dword [esp + 0x84]
call fcn.0040c480
add esp, 4
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x44a4b0]
xor eax, eax
test ebx, ebx
je 0x428e42
cmp ebx, ebp
je 0x428e42
mov edi, eax
mov esi, ebx
jmp 0x428ccb
add esi, 8
cmp esi, ebp
je 0x428e37
mov eax, dword [esi]
test eax, eax
je 0x428cc0
push eax
call fcn.0040c480
add esp, 4
jmp 0x428cc0
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
jmp dword [0x44a4a0]
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x44a4b0]
mov eax, ebp
sub eax, ebx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [0x44e370]
mov dword [esp + 0x2c], 0x83ce81e5
mov dword [esp + 0x30], 0x8725852b
mov dword [esp + 0x34], 0x8b268929
mov dword [esp + 0x38], 0x8f3e8dcd
mov dword [esp + 0x3c], 0x93d69120
mov dword [esp + 0x40], 0x97229535
mov dword [esp + 0x44], 0x9bff9939
mov dword [esp + 0x48], 0x9fcd9dc0
mov dword [esp + 0x4c], 0xe347e154
mov dword [esp + 0x50], 0xe74be545
mov dword [esp + 0x54], 0xeb46e9b4
mov dword [esp + 0x58], 0xef4ded43
mov dword [esp + 0x5c], 0xf35ef151
mov dword [esp + 0x60], 0xf740f59a
mov dword [esp + 0x64], 0xfb5cf95c
mov word [esp + 0x68], 0xfdfc
mov dword [esp + 0x6a], 0
mov byte [esp + 0x6e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x428e14
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx esi, byte [esp + edx + 0x2c]
mov edx, ecx
xor edx, 0x62636520
and ecx, 0xe2636520
lea edx, [edx + ecx*2]
lea ecx, [edx + esi]
and edx, esi
mov esi, ecx
not esi
and esi, edx
mov edi, edx
not edi
and ecx, edi
sub ecx, esi
xor edx, ecx
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x60
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x428dc0
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x18]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x18]
test esi, esi
jns 0x428e4d
mov eax, 0xffffffff
jmp 0x428e50
push ebx
call fcn.0040c480
add esp, 4
mov eax, edi
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esi + esi]
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x8c], eax
mov eax, dword [0x44e370]
mov dword [esp + 0x2c], 0x13e6113d
mov dword [esp + 0x30], 0x1ffd1d8b
mov dword [esp + 0x34], 0x1b8e19f9
mov dword [esp + 0x38], 0x79605c5
mov dword [esp + 0x3c], 0x3ce0190
mov dword [esp + 0x40], 0xf920ded
mov dword [esp + 0x44], 0xb2709e9
mov dword [esp + 0x48], 0x37c535d0
mov dword [esp + 0x4c], 0x33df31ac
mov dword [esp + 0x50], 0x3fab3ddd
mov dword [esp + 0x54], 0x3bae39dc
mov dword [esp + 0x58], 0x27c525b3
mov dword [esp + 0x5c], 0x23b621c1
mov dword [esp + 0x60], 0x2fb02dfa
mov dword [esp + 0x64], 0x2bc429c4
mov word [esp + 0x68], 0xd5d4
mov dword [esp + 0x6a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x428f3b
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x2c]
mov edi, ecx
xor edi, 0x5ecb28c4
and ecx, 0xdecb28c4
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x2c
mov edx, dword [esp]
mov byte [esp + edx + 0x2c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x428f00
lea ecx, [esp + 0x18]
push ecx
push esi
mov esi, dword [esp + 0x94]
push esi
push 0x1e
lea ecx, [esp + 0x3c]
push ecx
push 0
call eax
lea eax, [esp + 0x28]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00441ca0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a4b8]
mov edi, ebx
xor ebx, ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jmp dword [0x44a570]
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x44a578]
mov ecx, dword [case.0x428f70.53]
mov ebx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x44a5a0]
push dword [esp + 0x58]
call fcn.0040c480
add esp, 4
mov eax, dword [case.0x427ce8.166]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x88]
and al, 1
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xb4]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44a598]
mov dword [esp + 0xb4], ecx
mov edi, dword [esp + ecx + 0xa0]
mov esi, 0xfffffffe
nop
nop
nop
nop
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x429490
mov dword [esp + 0xb0], esi
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x9c]
lea ecx, [edx + eax]
mov dword [esp + 0x8c], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x4294cc
mov eax, 0xffffffff
mov dword [esp + 0x94], edi
push eax
call fcn.0040c470
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x58]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x429511
mov edx, dword [esp + 0xac]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429500
mov dword [esp + 0x90], edi
mov word [eax], 0x5c
mov dword [esp + 0x20], 0xe33ee10c
mov dword [esp + 0x24], 0xe705e51b
mov dword [esp + 0x28], 0xfb06f919
mov dword [esp + 0x2c], 0xff2dfddc
mov dword [esp + 0x30], 0xf313f104
mov dword [esp + 0x34], 0xf713f500
mov word [esp + 0x38], 0x8988
mov word [ebp + 0x1e], 0
mov dword [ebp + 0x1a], 0
add eax, 2
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x1f
ja 0x4295c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x20]
mov edi, ecx
xor edi, 0xc50afa8
and ecx, 0xc50afa8
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0xb8
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x20
jb 0x429580
mov edx, dword [esp + 0x94]
movzx ecx, word [edx]
test cx, cx
je 0x4295f1
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4295e0
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
mov edi, dword [esp + 0x90]
je 0x429621
lea edx, [esp + 0x22]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429610
mov word [eax], 0
lea eax, [esp + 0x98]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00441ca0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a5a8]
xor ebx, ebx
jmp dword [0x44a628]
lea eax, [esp + 0xb8]
push 0
push eax
push dword [esp + 0xa0]
call fcn.00442060
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44a5b0]
mov edi, dword [esp + 0xb8]
lea eax, [edi + 1]
push eax
call fcn.0040c470
add esp, 4
push 0
push edi
mov edi, eax
push eax
push dword [esp + 0xa4]
call fcn.00442170
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44a5b8]
mov eax, dword [esp + 0xb8]
mov byte [edi + eax], 0
push edi
call fcn.00403bf0
add esp, 4
xor ecx, ecx
mov dword [esp + 0x84], eax
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44a5c0]
jmp dword [0x44a610]
mov dword [esp + 0x7c], edi
jmp dword [0x44a5cc]
movzx eax, bl
jmp dword [eax*4 + 0x44a640]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x8c]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x429730
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x58]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x429771
mov edx, dword [esp + 0xac]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429760
mov word [eax], 0x5c
mov dword [esp + 0x20], 0x398e3b98
mov dword [esp + 0x24], 0x258b27a9
mov dword [esp + 0x28], 0x21b6238b
mov dword [esp + 0x2c], 0x2d932f40
mov dword [esp + 0x30], 0x29bb2bb0
mov dword [esp + 0x34], 0x15b917b6
mov dword [esp + 0x38], 0x11b913bd
mov dword [esp + 0x3c], 0x1d8a1fb4
mov dword [esp + 0x40], 0x19801bb7
mov dword [esp + 0x44], 0x59207b3
mov dword [esp + 0x48], 0x1ac03a8
mov word [esp + 0x4c], 0xf00
mov word [ebp + 0x32], 0
mov dword [ebp + 0x2e], 0
add eax, 2
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x33
ja 0x429840
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x20]
mov edi, ecx
xor edi, 0x14473f8b
and ecx, 0x14473f8b
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x49
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x34
jb 0x429800
mov edi, dword [esp + 0x94]
movzx ecx, word [edi]
test cx, cx
je 0x429871
lea edx, [edi + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429860
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x4298a1
lea edx, [esp + 0x22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429890
mov word [eax], 0
mov eax, dword [esp + 0xb0]
add eax, 0x12
cmp dword [esp + 0x8c], 0xfffffff7
jge 0x4298bf
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov esi, eax
mov dword [esp + 0x20], 0x99ee9bad
mov dword [esp + 0x24], 0xa5dca7f3
mov dword [esp + 0x28], 0xa1d6a3cf
mov dword [esp + 0x2c], 0xadc0afcc
mov word [esp + 0x30], 0xabac
mov byte [ebp + 0x14], 0
mov word [ebp + 0x12], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x14
ja 0x42994e
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, eax
xor edx, 0x8221dc1b
and eax, 0x221dc1b
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x79
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x15
jb 0x429910
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x429971
add edi, 2
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x429960
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x4299a1
lea edx, [esp + 0x22]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429990
mov word [eax], 0
mov dword [esp + 0x20], 0x616667be
mov byte [esp + 0x24], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 4
ja 0x429a18
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, eax
xor edx, 0x202bf219
and eax, 0x202bf219
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, eax
xor ecx, 0x7d
and eax, 2
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 5
jb 0x4299d0
push 0
push 0
push 0
push 0xc00000
push ebp
push ebx
push esi
push dword [esp + 0x118]
call fcn.004202f0
add esp, 0x20
mov ecx, dword [esp + 0x88]
and cl, 1
or cl, al
mov dword [esp + 0x88], ecx
jmp dword [0x44a648]
push esi
call fcn.0040c480
add esp, 4
jmp dword [0x44a650]
jmp dword [0x44a650]
push ebx
call fcn.0040c480
add esp, 4
mov ecx, dword [esp + 0xb4]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44a598]
push dword [esp + 0x10]
call fcn.0040c480
add esp, 4
push dword [esp + 0x84]
call fcn.004047a0
add esp, 4
jmp dword [0x44a610]
jmp dword [0x44a618]
mov eax, dword [esp + 0x98]
mov dword [esp + 8], 0x585b5a45
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 3
ja 0x429b05
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 8]
add ecx, 0xd38f
xor ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
add cl, 0x35
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp ecx, 4
jb 0x429ad0
mov ecx, dword [0x44e374]
test ecx, ecx
je 0x429b40
mov edx, dword [esp + 8]
xor edi, edi
mov ebp, dword [0x44e378]
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x429b31
inc edi
cmp ecx, edi
jne 0x429b20
jmp 0x429b40
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
jne 0x429b57
nop
nop
nop
nop
nop
nop
nop
lea ebp, [esp + 0x20]
mov edi, dword [esp + 0x90]
jmp dword [0x44a628]
jmp dword [0x44a634]
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
lea ebp, [esp + 0x20]
mov edi, dword [esp + 0x90]
jmp dword [0x44a628]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44a5d8]
xor ebx, ebx
mov edi, dword [esp + 0x7c]
jmp dword [0x44a5f8]
mov eax, dword [esp + 0xb0]
add eax, 0x10
cmp dword [esp + 0x8c], 0xfffffff8
mov edi, dword [esp + 0x94]
jge 0x429bb4
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov ebp, eax
mov dword [esp + 0x20], 0x178a19cb
mov dword [esp + 0x24], 0x13c01584
mov dword [esp + 0x28], 0xf86119c
mov dword [esp + 0x2c], 0xb0a0d80
lea eax, [esp + 0x30]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x12
ja 0x429c3e
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, eax
xor edx, 0x8a232dc6
and eax, 0xa232dc6
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
add al, 0x22
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x13
jb 0x429c00
movzx ecx, word [edi]
mov eax, ebp
test cx, cx
je 0x429c61
lea edx, [edi + 2]
mov eax, ebp
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429c50
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x429c93
lea edx, [esp + 0x22]
mov edi, dword [esp + 0x7c]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x429c80
jmp 0x429c97
mov edi, dword [esp + 0x7c]
mov word [eax], 0
mov ecx, dword [esp + 0xfc]
push dword [esp + 8]
push dword [esp + 0x10]
push ebp
call fcn.0040ce80
mov ebx, eax
jmp dword [0x44a5e0]
jmp dword [0x44a5e8]
push ebp
call fcn.0040c480
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.0040c480
add esp, 4
jmp dword [0x44a5f0]
push 0xe050b307
push dword [0x44e368]
call fcn.004411b0
add esp, 8
push dword [esp + 0xc]
call eax
jmp dword [0x44a5f8]
push dword [esp + 0x84]
call fcn.00404530
add esp, 4
mov dword [esp + 0x20], 0xd8d5969b
mov dword [esp + 0x24], 0xefe2ecea
mov dword [esp + 0x28], 0xd0ecdc22
mov dword [esp + 0x2c], 0xe7eae4e2
mov dword [esp + 0x30], 0xf0c5d5d5
mov word [esp + 0x34], 0xfcc9
mov byte [esp + 0x36], 0x62
mov word [esp + 0x37], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0x18
ja 0x429da0
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x20]
mov edi, ecx
xor edi, 0x2a9cc0be
and ecx, 0x2a9cc0be
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x60]
add cl, 0x4a
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0x19
jb 0x429d60
push ebp
push eax
call fcn.00404670
add esp, 8
mov edx, eax
dec eax
mov ecx, edx
nop
inc eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jne 0x429db0
mov edi, eax
xor edi, edx
mov ebx, edx
not ebx
and ebx, eax
add ebx, ebx
mov ebp, ebx
sub ebp, edi
mov eax, ebp
and eax, 3
mov esi, ebp
or esi, 3
imul esi, eax
xor eax, 3
mov ecx, ebp
and ecx, 0xfffffffc
imul ecx, eax
add esi, ecx
shr esi, 2
mov dword [esp + 0x1c], ebp
movzx eax, byte [edx + ebp - 1]
cmp eax, 0x3d
je 0x429df9
cmp eax, 0x2e
jne 0x429dfa
dec esi
mov eax, dword [esp + 0x1c]
movzx eax, byte [edx + eax - 2]
cmp eax, 0x3d
mov dword [esp + 0x54], edx
je 0x429e11
cmp eax, 0x2e
jne 0x429e12
dec esi
mov dword [esp + 0x80], esi
lea eax, [esi + 1]
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x10], eax
cmp ebx, edi
jne 0x42a01c
mov eax, dword [esp + 0x80]
add eax, 0xfffffffb
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add eax, 5
mov dword [esp + 0x18], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
push 0x6c625980
push dword [0x44e380]
call fcn.004411b0
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x14]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
lea ebp, [esp + 0x20]
jmp dword [0x44a5d4]
push dword [esp + 0x84]
call fcn.00404530
add esp, 4
mov dword [esp + 0x20], 0xd8d5969b
mov dword [esp + 0x24], 0xefe2ecea
mov dword [esp + 0x28], 0xd0ecdc22
mov dword [esp + 0x2c], 0xe7eae4e2
mov dword [esp + 0x30], 0xf0c5d5d5
mov word [esp + 0x34], 0xfcc9
mov byte [esp + 0x36], 0x62
mov word [esp + 0x37], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0x18
ja 0x429f30
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x20]
mov edi, ecx
xor edi, 0x2a9cc0be
and ecx, 0x2a9cc0be
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x60]
add cl, 0x4a
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x20], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0x19
jb 0x429ef0
push ebp
push eax
call fcn.00404670
add esp, 8
mov edx, eax
dec eax
mov ecx, edx
nop
inc eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jne 0x429f40
mov edi, eax
xor edi, edx
mov ebx, edx
not ebx
and ebx, eax
add ebx, ebx
mov ebp, ebx
sub ebp, edi
mov eax, ebp
and eax, 3
mov esi, ebp
or esi, 3
imul esi, eax
xor eax, 3
mov ecx, ebp
and ecx, 0xfffffffc
imul ecx, eax
add esi, ecx
shr esi, 2
mov dword [esp + 0x1c], ebp
movzx eax, byte [edx + ebp - 1]
cmp eax, 0x3d
je 0x429f89
cmp eax, 0x2e
jne 0x429f8a
dec esi
mov eax, dword [esp + 0x1c]
movzx eax, byte [edx + eax - 2]
cmp eax, 0x3d
mov dword [esp + 0x54], edx
je 0x429fa1
cmp eax, 0x2e
jne 0x429fa2
dec esi
mov dword [esp + 0x80], esi
lea eax, [esi + 1]
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x10], eax
cmp ebx, edi
jne 0x42a108
mov eax, dword [esp + 0x80]
add eax, 0xfffffffb
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add eax, 5
mov dword [esp + 0x18], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
push 0x6c625980
push dword [0x44e380]
call fcn.004411b0
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x14]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
lea ebp, [esp + 0x20]
jmp case.0x427ce8.129
xor edi, edi
mov ebp, 2
jmp 0x42a042
mov edi, ebx
lea eax, [ebp + 4]
add ebp, 2
cmp ebp, edx
mov ebp, eax
jae 0x429e31
mov esi, dword [esp + 0x54]
movzx eax, byte [esi + ebp - 2]
push eax
call fcn.0041dbd0
add esp, 4
mov ebx, eax
movzx eax, byte [esi + ebp - 1]
push eax
call fcn.0041dbd0
add esp, 4
shl bl, 2
mov edx, eax
shr dl, 4
and dl, 3
or dl, bl
lea ebx, [edi + 1]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x5c], edi
mov byte [ecx + edi], dl
mov edx, dword [esp + 0x1c]
cmp ebp, edx
jae 0x42a030
mov byte [esp + 3], al
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + ebp]
push eax
call fcn.0041dbd0
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x42a032
movzx ecx, byte [esp + 3]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
mov esi, dword [esp + 0x5c]
lea edi, [esi + 2]
mov ecx, dword [esp + 0x10]
mov byte [ecx + esi + 1], al
lea eax, [ebp + 1]
cmp eax, edx
jae 0x42a032
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.0041dbd0
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x42a032
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x5c]
mov byte [ecx + edi + 2], al
add edi, 3
jmp 0x42a032
xor esi, esi
mov ebp, 2
jmp 0x42a132
lea eax, [ebp + 4]
add ebp, 2
mov esi, ebx
cmp ebp, edx
mov ebp, eax
jae 0x429fc1
mov edi, dword [esp + 0x54]
movzx eax, byte [edi + ebp - 2]
push eax
call fcn.0041dbd0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + ebp - 1]
push eax
call fcn.0041dbd0
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
lea ebx, [esi + 1]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x5c], esi
mov byte [edx + esi], cl
mov edx, dword [esp + 0x1c]
cmp ebp, edx
jae 0x42a120
mov byte [esp + 3], al
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + ebp]
push eax
call fcn.0041dbd0
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x42a120
mov ch, al
movzx eax, byte [esp + 3]
shl al, 4
mov cl, ch
shr cl, 2
and cl, 0xf
or cl, al
mov esi, dword [esp + 0x5c]
lea ebx, [esi + 2]
mov eax, dword [esp + 0x10]
mov byte [eax + esi + 1], cl
lea eax, [ebp + 1]
cmp eax, edx
jae 0x42a120
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + ebp + 1]
push eax
mov byte [esp + 7], ch
call fcn.0041dbd0
movzx ecx, byte [esp + 7]
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x42a120
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x5c]
mov byte [ecx + ebx + 2], al
add ebx, 3
jmp 0x42a120
push edi
call fcn.0040c480
add esp, 4
push edi
call fcn.0040c480
add esp, 4
jmp dword [0x44a638]
push edi
call fcn.0040c480
add esp, 4
push edi
call fcn.0040c480
add esp, 4
jmp dword [0x44a620]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0x7c]
call fcn.00442060
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44a670]
mov esi, dword [esp + 0x8c]
lea eax, [esi + 1]
push eax
call fcn.0040c470
add esp, 4
push 0
push esi
mov dword [esp + 0x88], eax
push eax
push dword [esp + 0x80]
call fcn.00442170
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44a678]
mov esi, dword [esp + 0x80]
jmp dword [0x44a758]
jmp dword [0x44a764]
push esi
call fcn.0040c480
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040c480
add esp, 4
jmp dword [0x44a76c]
jmp dword [0x44a770]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x80]
mov byte [ecx + eax], 0
mov eax, dword [case.0x427ce8.180]
xor ebx, ebx
mov ecx, dword [esp + 0x80]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 8], ecx
jmp eax
push dword [esp + 0x14]
call fcn.0040c480
add esp, 4
mov dword [esp + 8], esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x20], 0x4a424042
mov dword [esp + 0x24], 0x4e475446
mov word [esp + 0x28], 0xf75
mov byte [esp + 0x2a], 0x4e
mov word [esp + 0x2b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x42a5f3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, eax
xor edx, 0xc4823b36
mov esi, eax
xor esi, 0x3b7dc4c9
or eax, 0x44823b36
and eax, esi
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xf2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x42a5b0
movzx ecx, byte [esp + 0x20]
test cl, cl
je 0x42a640
lea eax, [esp + 0x20]
mov ebp, dword [esp + 8]
mov esi, ebp
jmp 0x42a619
movzx ecx, byte [eax]
test cl, cl
mov esi, edi
je 0x42a652
movzx edx, byte [ebp]
test dl, dl
je 0x42a650
inc ebp
inc eax
mov edi, esi
inc esi
cmp dl, cl
je 0x42a62e
mov edi, esi
mov ebp, esi
je 0x42a610
lea eax, [esp + 0x20]
jmp 0x42a610
mov esi, dword [esp + 8]
jmp 0x42a652
xor esi, esi
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44a6a0]
lea ecx, [esi + 0xa]
mov eax, esi
mov dword [esp + 0x6c], esi
movzx eax, byte [esi + 0xa]
xor esi, esi
test al, al
mov dword [esp + 8], ecx
je 0x42a692
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42a690
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42a680
jmp 0x42a692
mov esi, ecx
mov ecx, esi
sub ecx, dword [esp + 8]
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44a6a8]
xor eax, eax
cmp byte [esi - 1], 0x74
setne al
jmp dword [eax*4 + 0x44a6c0]
jmp dword [0x44a6d0]
xor eax, eax
cmp byte [esi - 2], 0x78
setne al
jmp dword [eax*4 + 0x44a6d8]
xor eax, eax
cmp byte [esi - 3], 0x74
setne al
jmp dword [eax*4 + 0x44a6e0]
xor eax, eax
cmp byte [esi - 4], 0x2e
setne al
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x44a6e8]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 8]
not eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x84], ebx
jmp dword [0x44a6f0]
mov edi, dword [esp + 0x18]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x42a727
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov edx, eax
lea ebp, [eax + edi*2]
add ebp, 2
mov eax, esi
test esi, esi
jne 0x42a76b
mov eax, dword [esp + 0x6c]
lea esi, [eax + 9]
mov eax, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
inc esi
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x42a750
mov eax, esi
mov ecx, dword [esp + 8]
xor eax, ecx
and esi, dword [esp + 0x68]
add esi, esi
sub esi, eax
add esi, ecx
mov dword [esp + 0x20], 0
add ebp, 0xfffffffe
mov ebx, edx
mov dword [esp + 0x14], edx
cmp edx, ebp
jae 0x42a7c9
mov ebx, dword [esp + 0x14]
cmp dword [esp + 8], esi
jae 0x42a7c9
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x42a7c9
lea eax, [esp + 0x20]
push eax
push esi
push edi
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x20]
mov word [ebx], cx
add ebx, 2
cmp ebx, ebp
jae 0x42a7c9
add edi, eax
cmp edi, esi
jb 0x42a7a0
mov word [ebx], 0
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x24]
call fcn.00441ca0
add esp, 0x14
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x10]
lea edi, [esp + 0x21]
jmp dword [0x44a6f8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a700]
mov dword [esp + 8], esi
jmp dword [0x44a750]
mov edi, dword [esp + 0x18]
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x42a825
mov eax, 0xffffffff
push eax
call fcn.0040c470
add esp, 4
mov edx, eax
lea ebp, [eax + edi*2]
add ebp, 2
mov eax, esi
test esi, esi
jne 0x42a86b
mov eax, dword [esp + 0x6c]
lea esi, [eax + 9]
mov eax, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc esi
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x42a850
mov eax, esi
mov ecx, dword [esp + 8]
xor eax, ecx
and esi, dword [esp + 0x68]
add esi, esi
sub esi, eax
add esi, ecx
mov dword [esp + 0x20], 0
add ebp, 0xfffffffe
mov ebx, edx
mov dword [esp + 0xc], edx
cmp edx, ebp
jae 0x42a8c9
mov ebx, dword [esp + 0xc]
cmp dword [esp + 8], esi
jae 0x42a8c9
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x42a8c9
lea eax, [esp + 0x20]
push eax
push esi
push edi
call fcn.00410690
add esp, 0xc
movzx ecx, word [esp + 0x20]
mov word [ebx], cx
add ebx, 2
cmp ebx, ebp
jae 0x42a8c9
add edi, eax
cmp edi, esi
jb 0x42a8a0
mov word [ebx], 0
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x1c]
call fcn.00441ca0
add esp, 0x14
mov esi, dword [esp + 0x10]
jmp case.0x42a6a0.18
jmp dword [0x44a70c]
mov dword [esp + 0x78], 0
mov dword [esp + 0x64], 0
jmp dword [0x44a730]
sub ebx, dword [esp + 0x14]
sar ebx, 1
inc ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x64], ebx
sub eax, ebx
mov dword [esp + 0x78], eax
jmp dword [0x44a730]
mov eax, dword [esp + 0x78]
add eax, 0x1b
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x20], 0x1016103f
mov dword [esp + 0x24], 0xb016f12
mov dword [esp + 0x28], 0x220df70
mov dword [esp + 0x2c], 0xc477040c
mov dword [esp + 0x30], 0xe7a0622
mov dword [esp + 0x34], 0xb80e1000
mov word [esp + 0x38], 0xbeb9
mov byte [esp + 0x3a], 0x8e
mov byte [edi + 0x1c], 0
mov word [edi + 0x1a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1d
ja 0x42a9c8
mov esi, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, esi
xor edx, 0x1c21b329
and esi, 0x1c21b329
lea edx, [edx + esi*2]
xor edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
add dl, 0x33
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], dl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1e
jb 0x42a98d
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0xc], eax
mov ecx, eax
test bl, bl
mov esi, dword [esp + 8]
mov ebp, dword [esp + 0x64]
je 0x42a9f0
mov edx, edi
mov ecx, dword [esp + 0xc]
mov byte [ecx], bl
inc ecx
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x42a9e5
mov eax, dword [esp + 0x18]
mov byte [ecx], 0
sub eax, ebp
je 0x42aa24
lea edx, [esi + ebp]
mov edi, eax
and edi, 3
je 0x42aa28
xor esi, esi
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx + esi], bl
inc esi
cmp edi, esi
jne 0x42aa07
add ecx, esi
sub eax, esi
mov esi, ecx
mov ebp, dword [esp + 0x64]
jmp 0x42aa28
mov esi, ecx
jmp 0x42aa79
mov edi, dword [esp + 0x6c]
add edi, ebp
mov ebx, dword [esp + 0x10]
sub ebx, edi
add ebx, 0xfffffff5
cmp ebx, 3
lea edi, [esp + 0x21]
jb 0x42aa79
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx + 1], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx + 2], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
lea esi, [ecx + 4]
mov byte [ecx + 3], bl
mov ecx, esi
add eax, 0xfffffffc
jne 0x42aa40
mov byte [esi], 0
mov ecx, dword [esp + 0xa8]
push dword [esp + 0x70]
push dword [esp + 0x80]
push dword [esp + 0x14]
call fcn.0040d040
mov esi, dword [esp + 0x10]
jmp case.0x42a6a0.34
mov ebx, eax
mov byte [ebx], 0
mov ecx, dword [esp + 0xa8]
push dword [esp + 0x70]
push dword [esp + 0x80]
push dword [esp + 0x14]
call fcn.0040d040
mov ebx, dword [esp + 0x84]
jmp dword [0x44a73c]
mov eax, dword [esp + 0x78]
add eax, 0x1b
push eax
call fcn.0040c470
add esp, 4
mov dword [esp + 0x20], 0x1016103f
mov dword [esp + 0x24], 0xb016f12
mov dword [esp + 0x28], 0x220df70
mov dword [esp + 0x2c], 0xc477040c
mov dword [esp + 0x30], 0xe7a0622
mov dword [esp + 0x34], 0xb80e1000
mov word [esp + 0x38], 0xbeb9
mov byte [esp + 0x3a], 0x8e
mov byte [edi + 0x1c], 0
mov word [edi + 0x1a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1d
ja 0x42ab6b
nop
mov ebx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x20]
mov edx, ebx
xor edx, 0x1c21b329
and ebx, 0x1c21b329
lea edx, [edx + ebx*2]
xor edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
add dl, 0x33
mov ecx, dword [esp]
mov byte [esp + ecx + 0x20], dl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1e
jb 0x42ab30
movzx ecx, byte [esp + 0x20]
mov dword [esp + 0xc], eax
test cl, cl
mov ebx, dword [esp + 0x64]
je 0x42ab9b
mov edx, edi
mov eax, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42ab90
mov ebp, dword [esp + 0x18]
mov byte [eax], 0
sub ebp, ebx
je 0x42aa9d
mov ecx, esi
xor esi, 2
mov edi, dword [esp + 0x6c]
lea edx, [ebx + edi]
mov dword [esp + 0x68], edx
sub esi, edx
mov edx, dword [esp + 8]
add edx, ebx
and esi, 3
je 0x42abf9
mov ebp, ecx
sub ebp, ebx
sub ebp, edi
add ebp, 0xfffffff6
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp esi, edi
jne 0x42abe0
add eax, edi
sub ebp, edi
mov ebx, eax
jmp 0x42abf9
mov ecx, dword [esp + 0x10]
mov esi, ecx
sub esi, dword [esp + 0x68]
add esi, 0xfffffff5
cmp esi, 3
mov esi, ecx
lea edi, [esp + 0x21]
jb 0x42aa9f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + 2], bl
movzx ecx, byte [edx]
cmp cl, 1
sbb edx, 0xffffffff
lea ebx, [eax + 4]
mov byte [eax + 3], cl
mov eax, ebx
add ebp, 0xfffffffc
jne 0x42ac20
jmp 0x42aa9f
and bl, 1
or bl, al
jmp dword [0x44a740]
push dword [esp + 0xc]
call fcn.0040c480
add esp, 4
jmp dword [0x44a748]
push dword [esp + 0x7c]
call fcn.0040c480
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp], 0x585b5a45
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x42ace3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
add ecx, 0xd38f
xor ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
add cl, 0x35
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x42acb0
mov ecx, dword [0x44e374]
test ecx, ecx
je 0x42ad18
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42ad10
inc esi
cmp ecx, esi
jne 0x42ad00
jmp 0x42ad18
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42ad26
mov esi, dword [esp + 0x10]
mov dword [esp + 8], esi
jmp dword [0x44a750]
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
mov esi, dword [esp + 0x10]
mov dword [esp + 8], esi
jmp dword [0x44a750]
xor ecx, ecx
mov eax, dword [esp + 0x14]
jmp 0x42ad58
add eax, 2
test dx, dx
je 0x42ad69
mov ebx, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x42ad50
mov ecx, ebx
jmp 0x42ad50
xor eax, eax
test ebx, ebx
setne al
mov esi, dword [esp + 0x10]
jmp dword [eax*4 + 0x44a728]
push esi
call fcn.0040c470
add esp, 4
push 0
push esi
mov dword [esp + 0x84], eax
push eax
push dword [esp + 0x28]
call fcn.00442170
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44a720]
jmp dword [0x44a748]
mov esi, dword [esp + 0x70]
test eax, eax
setns al
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44a718]
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x24]
call fcn.00442060
add esp, 0xc
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x24]
call fcn.00442060
add esp, 0xc
jmp dword [0x44a710]
mov eax, dword [esp + 0x74]
mov dword [esp], 0x585b5a45
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x42ae53
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
add ecx, 0xd38f
xor ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
add cl, 0x35
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x42ae20
mov ecx, dword [0x44e374]
test ecx, ecx
je case.0x427ce8.234
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42ae80
inc esi
cmp ecx, esi
jne 0x42ae70
jmp case.0x427ce8.234
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x427ce8.234
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
mov eax, dword [esp + 0x74]
mov dword [esp], 0x585b5a45
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x42aef3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
add ecx, 0xd38f
xor ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
add cl, 0x35
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x42aec0
mov ecx, dword [0x44e374]
test ecx, ecx
je 0x42af28
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44e378]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x42af20
inc esi
cmp ecx, esi
jne 0x42af10
jmp 0x42af28
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42af53
jmp dword [0x44a77c]
jmp dword [0x44a780]
push dword [esp + 0x88]
call fcn.0040c480
add esp, 4
and bl, 1
mov eax, ebx
add esp, 0x94
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x44e37c]
push ecx
call fcn.0043e4b0
add esp, 0x10
jmp dword [0x44a77c]
jae 0x44a30d
add byte [esi + 0x79], al
inc edx
add byte [esi + 0x79], al
inc edx
add byte [edx + 0x73], dh
inc edx
add byte [eax + 0x74], al
je 0x44a31d
je 0x44a31d
add byte [eax + edi*2 + 0x42], dl
add byte [eax + 0x74], al
inc edx
add byte [eax + 0x74], al
inc edx
add byte [ebx + 0x74], ah
inc edx
add byte [eax + 0x74], al
inc edx
add byte [eax - 0x5fffbd8c], ah
je 0x44a339
add byte [eax - 0x5dffbd8c], ah
je 0x44a341
add byte [ebx + 0x78], ah
inc edx
add byte [eax + 0x1004274], dh
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x78], ah
inc edx
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x78], dh
inc edx
add byte [ebx + 0x78], bh
inc edx
js 0x44a361
add byte [eax], cl
jne 0x44a365
add byte [eax], ah
jne 0x44a369
add byte [eax + 0x29004274], al
jne 0x44a371
add byte [eax + 0x75], al
inc edx
add byte [eax + 0x75], al
inc edx
add byte [edx + 0x75], al
inc edx
jne 0x44a37d
add byte [eax + 0x75], al
inc edx
add byte [eax + 0x6f004274], al
jne 0x44a389
je 0x44a385
add byte [edi + 0x75], ch
inc edx
add byte [eax - 0x5fffbd8b], ah
jne 0x44a391
add byte [edx - 0x5fffbd8b], ah
jne 0x44a399
add byte [eax - 0x4fffbd8c], al
jne 0x44a3a1
add byte [ebx], ah
ja 0x44a3a5
add byte [0x3c004278], ah
js 0x44a3a9
add byte [eax + edi*2], bh
inc edx
js 0x44a3ad
add byte [ebp + 0x78], al
inc edx
add byte [0x3c004278], ah
js 0x44a3b9
js 0x44a3b5
add byte [eax + edi*2], bh
inc edx
add byte [edi], bl
js 0x44a3bd
add byte [ecx], ch
ja 0x44a3c1
add byte [esi - 0x54ffbd89], ah
ja case.0x427ce8.98
add byte [eax], dl
js 0x44a3cd
add ch, bh
ja 0x44a3d1
add byte [eax], dl
js 0x44a3d5
add byte [eax + 0x21004274], al
jns 0x44a3dd
add byte [ecx + edi*2], ch
inc edx
add byte [edi], ah
jge 0x44a3e5
add byte [ecx + edi*2 + 0x7ad00042], bl
inc edx
jns 0x44a3e9
add al, dl
jp 0x44a3ed
add byte [edx], al
jge 0x44a3f1
add byte [eax], dl
jl 0x44a3f5
add byte [ecx], al
jnp 0x44a3f9
add byte [eax], dl
jl 0x44a3fd
add dl, dh
jnp 0x44a401
add dl, bh
jnp 0x44a405
add byte [eax], dl
jl 0x44a409
add byte [esi - 0xfffbd84], ch
jl 0x44a40d
add al, dh
jl 0x44a411
add bl, cl
jl 0x44a415
add al, dh
jl 0x44a419
add byte [eax], al
jge 0x44a41d
add byte [eax], al
jge 0x44a421
add byte [edx], al
jge 0x44a425
add byte [eax], al
jge 0x44a429
add byte [ecx], dl
jge 0x44a42d
add byte [eax + 0x27004279], al
jns 0x44a431
add byte [edi], ah
jge 0x44a435
add byte [ebp + 0x27004279], dl
jns 0x44a439
add byte [edi], ah
jge 0x44a43d
add byte [ebp + 0x35004279], dl
jns 0x44a441
add byte [0x5900427d], dh
jge 0x44a445
add byte [ecx + 0x7d], bl
inc edx
jge 0x44a449
add byte [esi + edi*2 + 0x7ea50042], bl
inc edx
jle 0x44a44d
add byte [ebp - 0x4fffbd82], ah
jle 0x44a451
add byte [eax - 0x4fffbd82], dh
jle 0x44a455
add byte [eax - 0x4fffbd82], dh
jle 0x44a459
add byte [eax - 0x4dffbd82], dh
jle 0x44a45d
add byte [edx - 0x3fffbd82], dh
jle 0x44a461
add al, al
jle 0x44a465
add al, al
jle 0x44a469
add dl, al
jle 0x44a46d
add al, al
jle 0x44a471
inc edx
add byte [edi - 0x2dffbd81], al
jg 0x44a475
add dl, dl
jle 0x44a479
add byte [esi - 0x74], bh
inc edx
add byte [ebp + 0x6700427f], dh
mov word [edx], es
mov ch, 0x7f
inc edx
jg 0x44a481
add byte [edi - 0x7f], ah
inc edx
add al, bl
add dword [edx], case.0x427fae.3
push edx
jg 0x44a489
add byte [edx - 0x7f], dl
inc edx
add byte [edx], cl
add dword [edx], case.0x427fae.5
push ds
or al, byte [eax - 0x7ee1ffbe]
inc edx
add byte [edi - 0x80], ah
inc edx
add byte [esi], bl
add byte [edx], 0x1e
add dword [edx], case.0x427fae.7
push ds
add byte [edx], 0x1e
add dword [edx], case.0x428117.1
add byte [ecx - 0x7e7fffbe], 0x42
add byte [eax - 2113912191], al
add dword [edx], case.0x428117.2
add byte [ecx - 0x7e7fffbe], 0x42
add byte [edx + 503333505], al
add dword [edx], case.0x428117.2
add byte [ecx - 0x7e7dffbe], 0x42
add byte [esi], bl
add dword [edx], case.0x428117.2
add byte [ecx - 0x7ee1ffbe], 0x42
add bl, cl
add dword [edx], case.0x428117.5
push ds
add dword [edx], case.0x427fae.6
retf
add dword [edx], case.0x428117.7
and al, 0x81
inc edx
add byte [eax], bh
add dword [edx], case.0x428117.10
push eax
add dword [edx], case.0x428117.10
push edx
add dword [edx], case.0x428117.14
add dword [bp + si], case.0x428117.16
add dword [edx], case.0x428117.8
cmp byte [ecx - 0x7eafffbe], al
inc edx
add byte [eax - 0x7f], dl
inc edx
add byte [eax - 0x7f], dl
inc edx
add byte [edx - 0x7f], dl
inc edx
add byte [eax - 0x7f], bl
inc edx
add byte [edi - 0x7f], ah
inc edx
add dl, ch
mov eax, dword [edx]
add dword [edx], case.0x428117.9
push eax
add dword [edx], case.0x428117.10
push eax
add dword [edx], case.0x427fae.4
pop eax
add dword [edx], case.0x427fae.2
ljmp 0x428b
push ebx
mov eax, dword [edx]
jle 0x44a42e
inc edx
add byte [ebx - 0x75], dl
inc edx
add byte [esp + ecx*4 - 0x730bffbe], al
inc edx
add byte [edx], al
lea eax, [edx]
mov eax, dword [0x7700428c]
pop dword [edx]
dec edx
mov al, byte [edx]
jl 0x44a44c
inc edx
add byte [ebx + eax*4 - 0x7aafffbe], dh
inc edx
add dl, bh
add dword [edx], 0x2d
test dword [edx], eax
test byte [edx], al
sub eax, 1728070277
test dword [edx], eax
test dword [bp + si], eax
test dword [edx], eax
test dword [bp + si], eax
sub eax, 0xa8004285
test dword [edx], eax
xchg ebp, eax
test dword [edx], eax
into
test dword [edx], eax
add eax, dword [edi - 0x79b8ffbe]
inc edx
add byte [eax], dh
xchg byte [edx], al
lahf
xchg byte [edx], al
xchg ebp, eax
xchg dword [edx], eax
inc eax
xor byte [esi - 0x7960ffbe], al
inc edx
add byte [ebp + 0x40004287], dl
xchg dword [edx], eax
bound eax, qword [edi - 0x788fffbe]
inc edx
add byte [ebp + 0x7c004287], dl
xchg dword [edx], eax
add byte [edi - 0x787fffbe], 0x42
add byte [eax - 2113912185], al
xchg dword [edx], eax
mov al, 0x87
inc edx
add byte [eax - 0x4dffbd79], dh
xchg dword [edx], eax
mov al, 0x87
inc edx
add bh, al
xchg dword [edx], eax
rol dword [edi - 0x77a4ffbe], 1
inc edx
add byte [ecx - 0x78], ah
inc edx
add byte [ecx - 0x77], al
inc edx
add byte [ebp + 0x1004285], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x1004285], ch
add byte [eax], al
add byte [ebx], dh
test dword [edx], eax
push eax
test dword [edx], eax
push esi
test dword [edx], eax
jl 0x44a4f8
inc edx
add byte [ebx - 0x77], ah
inc edx
add byte [ecx - 0x66ffbd71], cl
pop dword [edx]
or byte [ecx - 0x704fffbe], 0x42
add byte [eax - 1342160241], dh
pop dword [edx]
mov eax, dword cs:[edx]
xor al, 139
inc edx
add byte [ebx + ecx*4 + 0x42], al
add byte [edx], bl
xchg esp, eax
inc edx
add byte [ecx - 0x6c], bh
inc edx
add byte [eax], ah
xchg esp, eax
inc edx
add byte [esp + edx*4], ch
inc edx
add byte [esi + edx*4 + 0x42], cl
add byte [eax - 0x6a], ah
inc edx
add byte [eax - 0x78ffbd66], dh
xchg esi, eax
inc edx
add al, ch
xchg esi, eax
inc edx
add byte [ebp - 0x17ffbd6a], bh
xchg esi, eax
inc edx
add dh, ch
xchg esi, eax
inc edx
add byte [ebp - 0x1ffbd62], cl
pushfd
inc edx
add byte [ebp + 0x7a00429e], cl
wait
inc edx
add byte [eax - 0x6bffbd65], cl
wait
inc edx
add byte [ecx - 0x20ffbd64], bh
pushfd
inc edx
add al, dl
pushfd
inc edx
add byte [edi - 0x20ffbd64], bh
pushfd
inc edx
add al, dl
pushfd
inc edx
add byte [eax - 0x6bffbd66], cl
lcall 0, 0x10042
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
call 0xa944e8a7
lcall 66, 0x9ab00042
xor dword [edx - 0x5dd7ffbe], esp
inc edx
add byte [eax + 0x2800429a], dh
mov byte [0x9b510042], al
inc edx
add byte [eax], al
xchg edi, eax
inc edx
add byte [eax], dl
mov byte [0xa2190042], al
inc edx
add byte [eax], al
xchg edi, eax
inc edx
add byte [eax], dl
mov byte [0x94600042], al
inc edx
add byte [edx], cl
xchg edi, eax
inc edx
add byte [esi - 0x66], cl
inc edx
add byte [eax - 0x66], ah
inc edx
add byte [esi - 0x66], ah
inc edx
add byte [eax - 0x6c], ah
inc edx
add byte [eax - 0x6c], al
inc edx
add byte [eax - 0x6c], al
inc edx
add byte [edx - 0x6c], al
inc edx
add byte [eax - 0x6c], al
inc edx
add byte [esi], ch
scasd eax, dword es:[edi]
inc edx
add byte [esp - 0x5ae0ffbe], cl
inc edx
add byte [eax - 0x14ffbd5c], dh
movsb byte es:[edi], byte [esi]
inc edx
add byte [0x10042a5], ah
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x500042a5], ah
movsd dword es:[edi], dword [esi]
inc edx
add byte [eax - 0x5b], dl
inc edx
add byte [eax - 0x5b], dh
inc edx
add byte [eax - 0x5b], dl
inc edx
add byte [eax - 0x5a], ah
inc edx
add bl, ch
movsb byte es:[edi], byte [esi]
inc edx
add byte [edi + 0x700042a6], ah
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax - 0x5b], dh
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax - 0x5b], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi + 0x10042a6], ah
add byte [eax], al
add al, al
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax - 0x5b], dh
inc edx
add al, al
cmpsb byte [esi], byte es:[edi]
inc edx
add al, al
cmpsb byte [esi], byte es:[edi]
inc edx
add dh, al
cmpsb byte [esi], byte es:[edi]
inc edx
add al, al
cmpsb byte [esi], byte es:[edi]
inc edx
add dh, dl
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax - 0x5b], dh
inc edx
add dh, ah
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax - 0x5b], dh
inc edx
add dl, bh
cmpsb byte [esi], byte es:[edi]
inc edx
add byte [eax - 0x5b], dh
inc edx
add byte [0x130042a7], dl
test al, 0x42
add ch, bh
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [ebx], dl
test al, 0x42
add byte [ecx], cl
test al, 0x42
add cl, dh
test al, 0x42
add bl, cl
lodsd eax, dword [esi]
inc edx
add dh, bl
lodsd eax, dword [esi]
inc edx
add byte [ebp - 0x34ffbd53], ch
lodsd eax, dword [esi]
inc edx
add byte [edi + 0x7b0042ac], al
lodsd eax, dword [esi]
inc edx
add byte [edi + 0x460042ad], ah
lodsd eax, dword [esi]
inc edx
add bh, dh
test al, 0x42
add byte [0xca0042a9], cl
stosb byte es:[edi], al
inc edx
add byte [eax], ch
test eax, 0xaaca0042
inc edx
add byte [esi - 0x54], bl
inc edx
add byte [ecx - 0x54], ch
inc edx
add byte [edi + 0x7b0042ad], ah
lodsb al, byte [esi]
inc edx
add byte [edi + 0x560042ac], al
movsd dword es:[edi], dword [esi]
inc edx
add byte [eax - 0x5b], dh
inc edx
add al, bh
movsb byte es:[edi], byte [esi]
inc edx
add byte [edi], bl
movsd dword es:[edi], dword [esi]
inc edx
add dh, bh
movsb byte es:[edi], byte [esi]
inc edx
add byte [eax], dl
movsd dword es:[edi], dword [esi]
inc edx
add byte [eax], dl
movsd dword es:[edi], dword [esi]
inc edx
add byte [edi], bl
movsd dword es:[edi], dword [esi]
inc edx
add byte [edx - 0x8ffbd52], bl
lodsd eax, dword [esi]
inc edx
add bh, dh
lodsd eax, dword [esi]
inc edx
add byte [esi], ch
scasd eax, dword es:[edi]
inc edx
add byte [edi + ebp*4], dh
inc edx
add byte [ebx - 0x51], al
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx - 0x51], al
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bl, cl
ret 0x42