Function at 0x424074
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd70
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
shr eax, 0x1f
mov eax, dword [eax*4 + 0x445478]
mov ecx, 0x84aacaba
xor ecx, dword [0x445480]
add eax, ecx
inc eax
jmp eax
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41ea20
add edi, 2
mov word [eax], 0
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 8]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41ea50
sar eax, 1
add eax, edi
jns 0x41ea68
mov eax, 0xffffffff
jmp 0x41ea6a
add eax, eax
push eax
call fcn.00408770
add esp, 4
mov edi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x41eaa1
add ebx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41ea90
mov word [eax], 0x5c
add eax, 2
movzx ecx, word [ebp]
test cx, cx
je 0x41ead2
add ebp, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x41eac0
mov word [eax], 0
mov ebx, dword [esp + 0x20]
movzx eax, byte [ebx + 0x18]
mov ecx, dword [ebx + 0x14]
mov edx, ecx
xor edx, 1
and ecx, 0xfffffffe
add ecx, ecx
sub ecx, edx
push eax
push ecx
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push edi
push esi
push dword [ebx]
call fcn.0041d7f0
add esp, 0x1c
mov ebx, eax
push edi
call fcn.00408780
add esp, 4
push esi
call fcn.00408780
add esp, 4
mov eax, ebx
pop esi
pop edi
pop ebx
pop ebp
ret
nop
cmp dword [esi + edx*8], 0xb282c971
je 0x41eea0
inc edx
cmp eax, edx
jne 0x41ee90
jmp case.default.0x41eee3
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je case.default.0x41eee3
push dword [ebp - 0x40]
push 2
push dword [ebp - 0x28]
push edi
push 0xffffffffffffffff
push 0x14
push eax
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x20
movzx eax, word [ebx + 0x14]
add eax, ebx
add eax, 0x18
mov dword [ebp - 0x2c], eax
xor eax, eax
movzx edx, ax
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x10], edx
cmp dx, word [ebx + 6]
setb al
jmp dword [eax*4 + 0x446488]
xor eax, eax
cmp dword [ebx + 0xa4], 0
setne al
jmp dword [eax*4 + 0x446490]
mov eax, dword [ebp - 0x14]
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4464a8]
mov ecx, esi
mov eax, dword [ebp - 0x18]
sub ecx, dword [eax + 0x34]
mov dword [ebp - 0x10], ecx
add esi, dword [eax + 0xa0]
xor eax, eax
cmp dword [esi], 0
setne al
jmp dword [eax*4 + 0x4464b0]
mov edx, dword [esi + 4]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4464c8]
jmp dword [0x4464d8]
mov ecx, edx
not ecx
and ecx, 8
and edx, 0xfffffff6
sub edx, ecx
shr edx, 1
xor edi, edi
xor ecx, ecx
cmp edi, edx
setb cl
jmp dword [ecx*4 + 0x4464e0]
mov ecx, ebx
not ecx
or ecx, 0xfff
mov eax, dword [ebp - 0x14]
add ecx, dword [eax]
add ecx, ebx
mov ebx, dword [esi]
mov eax, dword [ebp - 0x10]
add dword [ebx + ecx + 1], eax
inc edi
xor ebx, ebx
cmp edi, edx
setb bl
jmp dword [ebx*4 + 0x4464e0]
movzx ebx, word [esi + edi*2 + 8]
xor ecx, ecx
cmp ebx, 0x1000
setb cl
jmp dword [ecx*4 + 0x4464f8]
mov ecx, ebx
and ecx, 0xf000
xor eax, eax
cmp ecx, 0x3000
sete al
jmp dword [eax*4 + 0x446510]
jmp dword [0x446508]
inc edi
xor eax, eax
cmp edi, edx
setb al
jmp dword [eax*4 + 0x4464e0]
add esi, dword [esi + 4]
mov edx, dword [case.0x41eee3.27]
nop
nop
jmp edx
xor eax, eax
cmp dword [esi], 0
setne al
jmp dword [eax*4 + 0x4464b0]
xor eax, eax
mov esi, dword [ebp - 0x18]
cmp dword [esi + 0x84], 0
setne al
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x34]
jmp dword [eax*4 + 0x446518]
push 0xc37f6a92
push dword [0x44ce74]
call fcn.0043eaf0
add esp, 8
mov dword [ebp - 0x4c], eax
push 0xcfe2f8e
push dword [0x44ce74]
call fcn.0043eaf0
add esp, 8
mov edx, dword [ebx]
add edx, dword [esi + 0x80]
mov dword [ebp - 0x48], eax
xor ecx, ecx
cmp dword [edx], 0
setne cl
mov dword [ebp - 0x38], 0
xor eax, eax
jmp dword [ecx*4 + 0x446520]
mov edx, dword [ebp - 0x10]
inc edx
movzx edx, dx
xor eax, eax
mov ebx, dword [ebp - 0x18]
mov ecx, edx
mov dword [ebp - 0x10], edx
cmp dx, word [ebx + 6]
setb al
jmp dword [eax*4 + 0x446488]
jmp dword [0x44649c]
mov eax, dword [ebp - 0x10]
lea ecx, [eax + eax*4]
mov esi, dword [ebp - 0x2c]
mov ebx, dword [esi + ecx*8 + 0x10]
mov edx, dword [esi + ecx*8 + 0x14]
add edx, dword [ebp + 8]
mov eax, dword [edi]
add eax, dword [esi + ecx*8 + 0xc]
mov esi, ebx
mov ecx, ebx
shr ecx, 2
and ebx, 0xfffffffc
mov edi, eax
add eax, ebx
add ebx, edx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, esi
shr ecx, 1
and ecx, 1
mov edx, ebx
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edx, esi
test dl, 1
je 0x41f0f8
and edx, 2
movzx ecx, byte [ebx + edx]
mov byte [eax + edx], cl
mov edi, dword [ebp - 0x14]
jmp case.0x41eee3.5
mov edi, dword [ebp - 0x14]
jmp dword [0x4464a0]
mov eax, dword [ebp - 0x10]
lea ecx, [eax + eax*4]
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebx + ecx*8 + 0x10]
mov esi, dword [ebx + ecx*8 + 0x14]
add esi, dword [ebp + 8]
mov eax, dword [edi]
add eax, dword [ebx + ecx*8 + 0xc]
mov ecx, edx
shr ecx, 2
mov ebx, edx
and ebx, 0xfffffffc
mov edi, eax
add eax, ebx
add ebx, esi
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov ecx, edx
shr ecx, 1
and ecx, 1
mov esi, ebx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
test dl, 1
je 0x41f100
and edx, 2
movzx ecx, byte [ebx + edx]
mov byte [eax + edx], cl
jmp 0x41f100
mov eax, 1
xor ecx, ecx
mov edx, dword [ebp - 0x28]
jmp dword [ecx*4 + 0x446540]
xor ecx, ecx
cmp dword [edx], 0
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x446520]
mov eax, dword [ebx]
add eax, dword [edx + 0xc]
push 0
push eax
push 0x104
mov edi, dword [ebp - 0x3c]
push edi
mov esi, edx
call fcn.0040b250
add esp, 0x10
push edi
call dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0x10], eax
test eax, eax
sete cl
mov dword [ebp - 0x28], esi
jmp dword [ecx*4 + 0x446528]
mov edx, ebx
mov edi, dword [ebx]
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x24], ecx
mov ebx, eax
mov eax, dword [edi + eax]
xor ecx, ecx
test eax, eax
setne cl
mov esi, dword [ebp - 0x48]
jmp dword [ecx*4 + 0x446530]
movzx eax, ax
push eax
push dword [ebp - 0x10]
call esi
mov ecx, dword [ebp - 0x24]
mov dword [edi + ecx], eax
add edi, 4
mov eax, dword [edi + ebx]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446530]
mov ecx, eax
shr ecx, 0x1f
jmp dword [ecx*4 + 0x446538]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
add eax, ecx
add eax, 2
push eax
push dword [ebp - 0x10]
call esi
mov ecx, dword [ebp - 0x24]
mov dword [edi + ecx], eax
add edi, 4
mov eax, dword [edi + ebx]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446530]
mov edx, dword [ebp - 0x28]
add edx, 0x14
mov ecx, 1
xor eax, eax
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x14]
jmp dword [ecx*4 + 0x446540]
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
mov dword [ebp - 0x20], 0xc8cbcacd
lea eax, [ebp - 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
xor ecx, ecx
mov eax, ecx
mov edx, ecx
and edx, 1
mov esi, ecx
and esi, 2
lea edi, [edx + 2]
imul edi, esi
xor esi, 2
imul esi, edx
mov ebx, ecx
xor ebx, 0xf5a68dd3
add ebx, esi
add ebx, edi
movzx esi, byte [ebp + ecx - 0x20]
xor ebx, esi
mov esi, ebx
and esi, 1
or ebx, 1
add ebx, esi
add bl, 0xe0
mov byte [ebp + ecx - 0x20], bl
xor eax, 1
add eax, ecx
and ecx, 6
sub eax, ecx
add eax, edx
mov ecx, eax
cmp eax, 7
jb 0x41f280
mov eax, dword [0x44ce80]
test eax, eax
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x34]
je case.default.0x41f335
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov esi, dword [0x44ce84]
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x16194952
je 0x41f303
inc edx
cmp eax, edx
jne 0x41f2f0
jmp case.default.0x41f335
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je case.default.0x41f335
push 0x8000
push dword [ebp - 0x30]
push ebx
push 0xffffffffffffffff
push 0x10
push eax
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x1c
mov eax, 1
xor ecx, ecx
mov edx, dword [ebp - 0x28]
jmp dword [ecx*4 + 0x446540]
xor ecx, ecx
test eax, eax
sete cl
mov esi, dword [ebp - 0x18]
jmp dword [ecx*4 + 0x446548]
lea eax, [esi + 0x20]
mov dword [ebp - 0x3c], eax
lea eax, [esi + 0x24]
mov dword [ebp - 0x30], eax
xor edx, edx
xor eax, eax
cmp dx, word [esi + 6]
setb al
jmp dword [eax*4 + 0x446550]
mov edx, dword [ebp - 0x10]
inc edx
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp dx, word [ecx + 6]
setb al
jmp dword [eax*4 + 0x446550]
mov dword [ebp - 0x10], edx
movzx eax, dx
mov ecx, dword [ebx]
lea edx, [eax + eax*4]
mov esi, dword [ebp - 0x2c]
add ecx, dword [esi + edx*8 + 0xc]
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov ecx, dword [esi + edx*8 + 8]
mov dword [edi], ecx
xor eax, eax
test ecx, ecx
mov ecx, dword [esi + edx*8 + 0x24]
sete al
jmp dword [eax*4 + 0x446560]
jmp dword [eax*4 + 0x446578]
mov edx, ecx
xor edx, 0xdfffffff
mov esi, ecx
or esi, 0x20000000
xor eax, eax
test esi, edx
setne al
shl eax, 4
mov edx, ecx
shr edx, 0x1b
and edx, 8
or edx, eax
mov eax, ecx
shr eax, 0x1f
mov eax, dword [edx + eax*4 + 0x4425d0]
shr ecx, 0x18
and ecx, 4
jmp dword [ecx + 0x446590]
or eax, 0x200
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0xc8cbcacd
lea eax, [ebp - 0x1c]
mov byte [eax + 2], 0
mov word [eax], 0
xor edx, edx
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
and eax, 1
mov esi, edx
and esi, 2
lea edi, [eax + 2]
imul edi, esi
xor esi, 2
imul esi, eax
mov ebx, edx
xor ebx, 0xf5a68dd3
add ebx, esi
add ebx, edi
movzx esi, byte [ebp + edx - 0x20]
xor ebx, esi
mov esi, ebx
and esi, 1
or ebx, 1
add ebx, esi
add bl, 0xe0
mov byte [ebp + edx - 0x20], bl
xor ecx, 1
add ecx, edx
and edx, 6
sub ecx, edx
add ecx, eax
mov edx, ecx
cmp ecx, 7
jb 0x41f420
mov eax, dword [0x44ce80]
test eax, eax
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x34]
je case.0x41f335.19
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov esi, dword [0x44ce84]
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xb282c971
je 0x41f522
inc edx
cmp eax, edx
jne 0x41f490
jmp case.0x41f335.19
mov edx, ecx
shr edx, 4
and edx, 4
mov eax, dword [ebp - 0x3c]
jmp dword [edx + 0x446568]
mov eax, ecx
or eax, 0x80
mov edx, ecx
xor edx, 0xffffff7f
xor ebx, ebx
test eax, edx
setne bl
mov eax, dword [ebp - 0x30]
jmp dword [ebx*4 + 0x446570]
xor eax, eax
mov dword [edi], eax
xor edx, edx
test eax, 0
sete dl
mov ebx, dword [ebp - 0x14]
jmp dword [edx*4 + 0x446578]
mov eax, dword [eax]
mov dword [edi], eax
xor edx, edx
test eax, eax
sete dl
mov ebx, dword [ebp - 0x14]
jmp dword [edx*4 + 0x446578]
mov eax, dword [case.0x41f335.19]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
je case.0x41f335.19
push dword [ebp - 0x40]
push dword [ebp - 0x24]
push edi
push dword [ebp - 0x44]
push 0xffffffffffffffff
push 0x14
push eax
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x20
mov edx, dword [ebp - 0x10]
inc edx
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp dx, word [ecx + 6]
setb al
jmp dword [eax*4 + 0x446550]
xor eax, eax
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0xc4], 0
setne al
jmp dword [eax*4 + 0x446558]
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0xc0]
mov esi, dword [eax + ecx + 0xc]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4465a8]
push 0
push 1
push dword [ebx]
call dword [esi]
xor eax, eax
add esi, 4
setne al
jmp dword [eax*4 + 0x4465a8]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ecx + 0x28]
xor eax, eax
test edi, edi
setne al
mov dword [ebp - 0x38], 1
jmp dword [eax*4 + 0x4465b0]
movzx eax, word [ecx + 0x16]
shr eax, 0xb
and eax, 4
jmp dword [eax + 0x4465b8]
jmp dword [0x4465c4]
mov eax, dword [ebx]
add eax, edi
call eax
nop
nop
mov eax, dword [ebx]
add eax, edi
call eax
jmp dword [0x4465cc]
mov eax, dword [ebx]
add edi, eax
push 0
push 1
push eax
call edi
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
int3
lea eax, [ebp - 0x14]
push eax
push 0
push 0
push 0xe
lea eax, [ebp - 0x72]
push eax
push 0
call dword [0x44ce7c]
mov edi, dword [ebp - 0x14]
mov ebx, 0xffffffff
test edi, edi
jns 0x41f713
mov eax, 0xffffffff
jmp 0x41f716
lea eax, [edi + edi]
push eax
call fcn.00408770
add esp, 4
mov esi, eax
lea eax, [ebp - 0x14]
push eax
push edi
push esi
push 0xe
lea eax, [ebp - 0x72]
push eax
push 0
call dword [0x44ce7c]
mov ecx, dword [ebp - 0x14]
mov edx, 0x38e38e39
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
lea eax, [edx + edx*8]
sub ecx, eax
js 0x41f755
add ecx, ecx
mov ebx, ecx
push ebx
call fcn.00408770
add esp, 4
mov dword [ebp - 0x40], 0x3766395c
mov dword [ebp - 0x3c], 0x334d3555
mov dword [ebp - 0x38], 0x4f2f3147
mov dword [ebp - 0x34], 0x4b374d37
mov dword [ebp - 0x30], 0x474649c7
mov word [ebp - 0x2c], 0
mov byte [ebp - 0x2a], 0
mov ecx, 0xfe70f136
movzx edx, byte [ebp + ecx + 0x18f0e8a]
xor edx, ecx
add edx, 0x7cb49f1
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov byte [ebp + ecx + 0x18f0e8a], dl
inc ecx
cmp ecx, 0xfe70f14d
jne 0x41f790
movzx edx, word [esi]
mov ecx, eax
test dx, dx
je 0x41f7e1
add esi, 2
mov ecx, eax
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x41f7d0
mov word [ecx], 0
movzx edx, word [ebp - 0x40]
test dx, dx
je 0x41f811
lea esi, [ebp - 0x3e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x41f800
mov word [ecx], 0
push dword [ebp - 0x10]
push eax
call fcn.0043f640
add esp, 8
jmp case.0x41f55b.34
mov word [eax], 0
push dword [ebp - 0x10]
push edi
call fcn.0043f640
add esp, 8
jmp dword [0x4467f8]
lea esi, [ebp - 0x14]
push esi
push 0
push 0
push 0xe
lea eax, [ebp - 0x72]
push eax
push 0
call dword [0x44ce7c]
mov ebx, dword [ebp - 0x14]
mov edi, 0xffffffff
test ebx, ebx
jns 0x41f870
mov eax, 0xffffffff
jmp 0x41f873
lea eax, [ebx + ebx]
push eax
call fcn.00408770
add esp, 4
push esi
push ebx
mov ebx, eax
push eax
push 0xe
lea eax, [ebp - 0x72]
push eax
push 0
call dword [0x44ce7c]
mov eax, dword [ebp - 0x14]
mov ecx, eax
add ecx, 9
js 0x41f8a0
lea edi, [eax*2 + 0x12]
lea esi, [ebp - 0x3e]
push edi
call fcn.00408770
add esp, 4
mov edi, eax
mov dword [ebp - 0x40], 0x3766395c
mov dword [ebp - 0x3c], 0x334d3555
mov dword [ebp - 0x38], 0x4f2f3147
mov dword [ebp - 0x34], 0x4b374d37
mov dword [ebp - 0x30], 0x474649c7
mov word [ebp - 0x2c], 0
mov byte [ebp - 0x2a], 0
mov eax, 0xfe70f136
movzx ecx, byte [ebp + eax + 0x18f0e8a]
xor ecx, eax
add ecx, 0x7cb49f1
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [ebp + eax + 0x18f0e8a], cl
inc eax
cmp eax, 0xfe70f14d
jne 0x41f8e0
movzx ecx, word [ebx]
mov eax, edi
test cx, cx
je 0x41f931
lea edx, [ebx + 2]
mov eax, edi
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 0x41f920
mov word [eax], 0
movzx ecx, word [ebp - 0x40]
test cx, cx
je 0x41f830
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x41f950
jmp 0x41f830
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446800]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
shr eax, 2
and eax, 4
jmp dword [eax + 0x446808]
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x14]
mov ecx, eax
add ecx, 0x25
mov ebx, dword [ebp - 0x50]
jns 0x41f99a
mov eax, 0xffffffff
jmp 0x41f9a1
lea eax, [eax*2 + 0x4a]
push eax
call fcn.00408770
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebx], 0x19c91bb8
mov dword [ebx + 4], 0xe54be7af
mov dword [ebx + 8], 0xe153e35a
mov dword [ebx + 0xc], 0xed5fef5d
mov dword [ebx + 0x10], 0xe956eb46
mov dword [ebx + 0x14], 0xf52ff74c
mov dword [ebx + 0x18], 0xf140f343
mov dword [ebx + 0x1c], 0xfd4fff5c
mov dword [ebx + 0x20], 0xf947fb45
mov dword [ebx + 0x24], 0xc515c718
mov dword [ebx + 0x28], 0xc175c36b
mov dword [ebx + 0x2c], 0xcd6acf74
mov dword [ebx + 0x30], 0xc97bcb18
mov dword [ebx + 0x34], 0xd579d765
mov dword [ebx + 0x38], 0xd132d360
mov dword [ebx + 0x3c], 0xdd6fdf1a
mov dword [ebx + 0x40], 0xd976db68
mov dword [ebx + 0x44], 0xa518a773
mov dword [ebx + 0x48], 0xa1a2a319
mov byte [ebx + 0x4e], 0
mov word [ebx + 0x4c], 0
xor eax, eax
xor ecx, ecx
nop
mov esi, eax
and esi, 0xf6
mov edx, ecx
xor edx, 0x7b
add edx, esi
xor dl, byte [ebx + ecx]
add dl, 0x99
mov byte [ebx + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x4f
jne 0x41fa40
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x10]
test cx, cx
je 0x41fa91
mov edx, dword [ebp - 0x18]
add edx, 2
mov eax, dword [ebp - 0x10]
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 0x41fa80
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov esi, dword [ebp - 0x54]
je 0x41fac1
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41fab0
mov word [eax], 0
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
push esi
push dword [ebp - 0x10]
call fcn.0043f640
add esp, 8
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446810]
mov eax, dword [esi]
shr eax, 2
and eax, 4
xor ebx, ebx
jmp dword [eax + 0x446818]
jmp dword [0x446820]
push dword [ebp - 0x10]
call fcn.00408780
add esp, 4
mov eax, dword [case.0x41f55b.45]
nop
nop
nop
nop
jmp eax
jmp dword [0x446838]
push edi
call fcn.00408780
add esp, 4
jmp dword [0x446840]
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov dword [ebx + 4], edi
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], 0x21bd27b3
mov dword [ecx + 4], 0xddb023bd
mov dword [ecx + 8], 0xd953df4d
mov dword [ecx + 0xc], 0xd544db49
mov dword [ecx + 0x10], 0xd100d758
mov dword [ecx + 0x14], 0xcd49d359
mov dword [ecx + 0x18], 0xc952cf5a
mov dword [ecx + 0x1c], 0xc543cb59
mov dword [ecx + 0x20], 0xc15bc749
mov dword [ecx + 0x24], 0xfd55c351
mov dword [ecx + 0x28], 0xf971ff6b
mov dword [ecx + 0x2c], 0xf561fb6e
mov dword [ecx + 0x30], 0xf115f769
mov dword [ecx + 0x34], 0xed69f37c
mov dword [ecx + 0x38], 0xe978ef7d
mov dword [ecx + 0x3c], 0xe509eb65
mov dword [ecx + 0x40], 0xe176e774
mov dword [ecx + 0x44], 0x9d38e36d
mov word [ecx + 0x48], 0x9f9c
mov byte [ecx + 0x4c], 0
mov word [ecx + 0x4a], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ecx + eax]
mov esi, eax
and esi, 7
xor esi, 0x38d6c187
mov ecx, eax
and ecx, 0x78
sub ecx, esi
xor ecx, edx
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0xa2
mov edx, dword [ebp - 0x1c]
mov byte [edx + eax], cl
mov ecx, dword [ebp - 0x1c]
inc eax
cmp eax, 0x4d
jne 0x41fbd0
push ebx
push 0x421ac0
push ecx
push edi
call fcn.0041d980
add esp, 0x10
mov ebx, eax
jmp dword [0x446838]
jmp dword [0x446840]
push dword [ebp - 0x18]
call fcn.00408780
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebp - 0x48]
mov dword [esi], 0xe9b8eb8a
mov dword [esi + 4], 0xed7def43
mov dword [esi + 8], 0xd1d2d340
mov eax, 0x23831057
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax - 0x23831057]
xor ecx, eax
mov edx, ecx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0x4c
mov byte [esi + eax - 0x23831057], cl
inc eax
cmp eax, 0x23831063
jne 0x41fc60
mov edx, dword [ebp - 0x44]
mov dword [edx], 0x31dd3fe3
mov dword [edx + 4], 0x35ce33cb
mov dword [edx + 8], 0xc90737c1
mov dword [edx + 0xc], 0xcd31cb21
mov dword [edx + 0x10], 0xc12acf32
mov dword [edx + 0x14], 0xc54bc331
mov dword [edx + 0x18], 0xd9e6c731
mov dword [edx + 0x1c], 0xdd39db07
mov dword [edx + 0x20], 0xd122df27
mov dword [edx + 0x24], 0xd511d3f0
mov dword [edx + 0x28], 0xe922d728
mov dword [edx + 0x2c], 0xed18eb0f
mov dword [edx + 0x30], 0xe10def12
mov dword [edx + 0x34], 0xe519e314
mov dword [edx + 0x38], 0xf901e712
mov word [edx + 0x3c], 0xfbf8
mov dword [edx + 0x3e], 0
xor eax, eax
mov ecx, eax
add cl, 0xf5
xor cl, byte [edx + eax]
add cl, 0x37
mov byte [edx + eax], cl
inc eax
cmp eax, 0x42
jne 0x41fd00
push 0
push 4
push 0xc00000
push esi
push dword [ebp - 0x10]
push edx
push dword [ebp + 8]
call fcn.0041d7f0
add esp, 0x1c
mov ebx, eax
jmp dword [0x446820]
int3
push esi
mov ebx, eax
call fcn.00408780
mov eax, ebx
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov esi, dword [esp + 0x2c]
jmp dword [0x446858]
inc edi
xor eax, eax
cmp edi, dword [esp + 0x20]
setb al
jmp dword [eax*4 + 0x446880]
mov esi, dword [esp + 0x3c]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x420053
mov eax, 0xffffffff
push eax
call fcn.00408770
add esp, 4
mov dword [esp + 0x60], esi
mov esi, eax
lea eax, [esp + 0x60]
push eax
push esi
push edi
push dword [esp + 0x38]
call fcn.0043fc20
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446890]
mov eax, dword [case.0x41f55b.81]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
lea eax, [esp + 0x38]
push dword [esp + 0x2c]
push 0
push 0x20019
push eax
push esi
call fcn.0043fb20
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4468b8]
mov eax, dword [case.0x420d21.35]
jmp case.0x420d21.32
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x78], 0x33ab3185
mov dword [esp + 0x7c], 0x2fbc2d8f
mov dword [esp + 0x80], 0x2bb929bf
mov dword [esp + 0x84], 0x27b825b3
mov dword [esp + 0x88], 0x238621ac
mov dword [esp + 0x8c], 0x1f871db3
mov dword [esp + 0x90], 0x1b86198e
mov dword [esp + 0x94], 0x17991583
mov dword [esp + 0x98], 0x13721183
mov dword [esp + 0x9c], 0xf930db9
mov dword [esp + 0xa0], 0xb99099b
mov dword [esp + 0xa4], 0x79905a5
mov dword [esp + 0xa8], 0x3940199
mov dword [esp + 0xac], 0x7f1e7de3
mov dword [esp + 0xb0], 0x7bf779cb
mov dword [esp + 0xb4], 0x77e575d6
mov dword [esp + 0xb8], 0x73e171f9
mov dword [esp + 0xbc], 0x6ff36de0
mov dword [esp + 0xc0], 0x6bce69fd
mov dword [esp + 0xc4], 0x67f465d4
mov dword [esp + 0xc8], 0x63fc61f7
mov dword [esp + 0xcc], 0x5fca5dc5
mov dword [esp + 0xd0], 0x5bc959c5
mov dword [esp + 0xd4], 0x571f55f0
mov dword [esp + 0xd8], 0x531d5103
mov dword [esp + 0xdc], 0x4f0d4d01
mov dword [esp + 0xe0], 0x4bf449f6
mov dword [esp + 0xe4], 0x470a4514
mov dword [esp + 0xe8], 0x43114111
mov dword [esp + 0xec], 0xbfefbded
mov dword [esp + 0xf0], 0xbb26b9e9
mov dword [esp + 0xf4], 0xb7f4b5e7
mov dword [esp + 0xf8], 0xb3fab1f8
mov dword [esp + 0xfc], 0xaffeaded
mov dword [esp + 0x100], 0xabfba9f8
mov dword [esp + 0x104], 0xa7eaa5f4
mov dword [esp + 0x108], 0xa3f0a1e2
mov dword [esp + 0x10c], 0x9fd09ddd
mov dword [esp + 0x110], 0x9bd599d6
mov dword [esp + 0x114], 0x973295da
mov word [esp + 0x118], 0x9190
lea eax, [esp + 0x118]
mov byte [eax + 4], 0
mov word [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x78]
mov edi, eax
xor edi, 0x28121b74
lea ecx, [eax + eax]
mov edx, ecx
and edx, 0x116
sub edx, edi
xor edx, esi
mov esi, 0x1a
sub esi, edx
add edx, 0x65
and esi, 0x22
and edx, 0xdd
sub edx, esi
inc dl
mov byte [esp + eax + 0x78], dl
xor eax, 0x5dcccbef
and ecx, 0x1de
add eax, ecx
add eax, 0xa2333412
cmp eax, 0xa5
jb 0x4202b0
lea edi, [esp + 0x91c]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0x9bc]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0xb75f897d
mov dword [esp + 0x7c], 0xb32cb55b
mov dword [esp + 0x80], 0xbf21b123
mov dword [esp + 0x84], 0xbb50bd2f
mov dword [esp + 0x88], 0xa742b924
mov dword [esp + 0x8c], 0xa34ba55f
mov dword [esp + 0x90], 0xaf42a132
mov dword [esp + 0x94], 0xab31ad3f
mov dword [esp + 0x98], 0x5776a937
mov dword [esp + 0x9c], 0x53ae55a6
mov dword [esp + 0xa0], 0x5f9151b4
mov dword [esp + 0xa4], 0x5bc45dc1
mov dword [esp + 0xa8], 0x47ab59c6
mov dword [esp + 0xac], 0x43de45d6
mov dword [esp + 0xb0], 0x4fa341ba
mov dword [esp + 0xb4], 0x4bd54dd2
mov dword [esp + 0xb8], 0x77e549a1
mov dword [esp + 0xbc], 0x739675e6
mov dword [esp + 0xc0], 0x7f97718b
mov dword [esp + 0xc4], 0x7b967dee
mov dword [esp + 0xc8], 0x67fd79eb
mov dword [esp + 0xcc], 0x634265fb
mov dword [esp + 0xd0], 0x6f836195
mov dword [esp + 0xd4], 0x6bf56df3
mov dword [esp + 0xd8], 0x17fd6989
mov dword [esp + 0xdc], 0x138015fd
mov dword [esp + 0xe0], 0x1f3e11fb
mov dword [esp + 0xe4], 0x1b871de3
mov dword [esp + 0xe8], 0x79919f6
mov dword [esp + 0xec], 0x39d059d
mov dword [esp + 0xf0], 0xfe3019c
mov dword [esp + 0xf4], 0xbee0d99
mov dword [esp + 0xf8], 0x37a809f8
mov dword [esp + 0xfc], 0x33d835a7
mov dword [esp + 0x100], 0x3faa31d9
mov dword [esp + 0x104], 0x3ba53dd1
mov dword [esp + 0x108], 0x27d539dc
mov dword [esp + 0x10c], 0x23be25b9
mov dword [esp + 0x110], 0x2fbd21b4
mov dword [esp + 0x114], 0x2bbd2dbf
mov dword [esp + 0x118], 0xd70f29cc
mov dword [esp + 0x11c], 0xd309d50b
mov dword [esp + 0x120], 0xdf11d10d
mov dword [esp + 0x124], 0xdb10dd16
mov dword [esp + 0x128], 0xc71ad908
mov dword [esp + 0x12c], 0xc31dc515
mov dword [esp + 0x130], 0xcf1fc111
mov dword [esp + 0x134], 0xcb26cd1d
mov dword [esp + 0x138], 0xf738c917
mov dword [esp + 0x13c], 0xf32af52c
mov dword [esp + 0x140], 0xff2ef131
mov dword [esp + 0x144], 0xfb2bfd2c
mov dword [esp + 0x148], 0xe73af928
mov dword [esp + 0x14c], 0xe33ce52a
mov dword [esp + 0x150], 0xef34e121
mov dword [esp + 0x154], 0xeb31ed36
mov dword [esp + 0x158], 0x9772e932
mov dword [esp + 0x15c], 0x9594
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0xbc
mov edx, ecx
xor edx, 0x5e
add edx, esi
xor dl, byte [esp + ecx + 0x78]
add dl, 0x2a
mov byte [esp + ecx + 0x78], dl
inc ecx
add eax, 2
cmp ecx, 0xe8
jne 0x4205b0
lea edi, [esp + 0x9be]
lea eax, [esp + 0x78]
mov ecx, 0x39
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x15c]
lea edi, [esp + 0xaa2]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0xc95dcb7f
mov dword [esp + 0x7c], 0xc548c755
mov dword [esp + 0x80], 0xc14fc355
mov dword [esp + 0x84], 0xbd24bf51
mov dword [esp + 0x88], 0xb91ebb30
mov dword [esp + 0x8c], 0xb52cb709
mov dword [esp + 0x90], 0xb125b32e
mov dword [esp + 0x94], 0xad35af2d
mov dword [esp + 0x98], 0xa965ab08
mov dword [esp + 0x9c], 0xa574a765
mov dword [esp + 0xa0], 0xa106a374
mov dword [esp + 0xa4], 0x9d159f11
mov dword [esp + 0xa8], 0x990e9b10
mov dword [esp + 0xac], 0x95079709
mov dword [esp + 0xb0], 0x91369301
mov dword [esp + 0xb4], 0x8d008f20
mov dword [esp + 0xb8], 0x89108b1d
mov dword [esp + 0xbc], 0x8512871f
mov dword [esp + 0xc0], 0x810f831f
mov dword [esp + 0xc4], 0x7dcf7f24
mov dword [esp + 0xc8], 0x79f67bf7
mov dword [esp + 0xcc], 0x75e777ec
mov dword [esp + 0xd0], 0x71e773e5
mov dword [esp + 0xd4], 0x6da96fd4
mov dword [esp + 0xd8], 0x69a36ba1
mov dword [esp + 0xdc], 0x65db67a3
mov dword [esp + 0xe0], 0x61d863de
mov dword [esp + 0xe4], 0x5d925fb0
mov dword [esp + 0xe8], 0x59975b93
mov dword [esp + 0xec], 0x55995797
mov dword [esp + 0xf0], 0x51ce539b
mov dword [esp + 0xf4], 0x4df04f9d
mov dword [esp + 0xf8], 0x49824b84
mov dword [esp + 0xfc], 0x459647f7
mov dword [esp + 0x100], 0x418d4394
mov dword [esp + 0x104], 0x3df23f90
mov dword [esp + 0x108], 0x39f43b82
mov dword [esp + 0x10c], 0x35fc3787
mov dword [esp + 0x110], 0x31fb33fe
mov dword [esp + 0x114], 0x2d8a2ffa
mov word [esp + 0x118], 0x2b2c
lea eax, [esp + 0x118]
mov byte [eax + 6], 0
mov dword [eax + 2], 0
mov eax, 0x7df5eeb3
mov ecx, 0x820a114c
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x7df5ee3b]
mov edi, ecx
and edi, 0x8202106a
mov edx, eax
and edx, 0x78644395
or edx, edi
xor edx, esi
xor edx, 0x8793bc6a
add edx, 0xfce651d5
mov esi, edx
xor esi, 0x54
and edx, 0x2b
add edx, edx
sub edx, esi
mov byte [esp + eax - 0x7df5ee3b], dl
inc eax
dec ecx
cmp eax, 0x7df5ef5a
jne 0x4207e0
lea edi, [esp + 0x87a]
lea eax, [esp + 0x78]
mov ecx, 0x28
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [esp + 0x118]
lea edi, [esp + 0x91a]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x78], 0x97d0b5f
mov dword [esp + 0x7c], 0x5880775
mov dword [esp + 0x80], 0x18f0375
mov dword [esp + 0x84], 0x1d641f71
mov dword [esp + 0x88], 0x197e1b90
mov dword [esp + 0x8c], 0x156c1749
mov dword [esp + 0x90], 0x1165136e
mov dword [esp + 0x94], 0x2d552f6d
mov dword [esp + 0x98], 0x29652b48
mov dword [esp + 0x9c], 0x25142764
mov dword [esp + 0xa0], 0x21462314
mov dword [esp + 0xa4], 0x3db53f71
mov dword [esp + 0xa8], 0x394e3bb0
mov dword [esp + 0xac], 0x35473749
mov dword [esp + 0xb0], 0x31563341
mov dword [esp + 0xb4], 0x4dc04f60
mov dword [esp + 0xb8], 0x49304b3d
mov dword [esp + 0xbc], 0x4532473f
mov dword [esp + 0xc0], 0x41cf433f
mov dword [esp + 0xc4], 0x5d0f5f24
mov dword [esp + 0xc8], 0x59d65bd7
mov dword [esp + 0xcc], 0x5527572c
mov dword [esp + 0xd0], 0x51275325
mov dword [esp + 0xd4], 0x6d296f34
mov dword [esp + 0xd8], 0x69236b21
mov dword [esp + 0xdc], 0x653b6723
mov dword [esp + 0xe0], 0x6138633e
mov dword [esp + 0xe4], 0x7d327f50
mov dword [esp + 0xe8], 0x79377b33
mov dword [esp + 0xec], 0x75397737
mov dword [esp + 0xf0], 0x710e733b
mov dword [esp + 0xf4], 0x8dd08f3d
mov dword [esp + 0xf8], 0x89c28bc4
mov dword [esp + 0xfc], 0x85b687d7
mov dword [esp + 0x100], 0x81cd83b4
mov dword [esp + 0x104], 0x9dd29fb0
mov dword [esp + 0x108], 0x99d49bc2
mov dword [esp + 0x10c], 0x95dc97c7
mov dword [esp + 0x110], 0x91db93de
mov dword [esp + 0x114], 0xadcaafda
mov word [esp + 0x118], 0xabac
mov dword [esp + 0x11a], 0
mov eax, 0xc8568003
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x37a98075]
mov esi, eax
and esi, edi
mov edx, esi
mov ecx, esi
mov ebx, esi
xor edi, eax
lea edi, [edi + esi*2]
and esi, 0xfffffffd
and edx, 2
or ecx, 0xfffffffd
inc ecx
imul ecx, esi
or ebx, 2
imul ebx, edx
sub ecx, ebx
add edi, ecx
mov ecx, edi
and ecx, 0x70
xor edi, 0xf0
lea ecx, [edi + ecx*2]
inc cl
mov byte [esp + eax + 0x37a98075], cl
inc eax
cmp eax, 0xc85680a9
jne 0x420a20
lea eax, [esp + 0xb46]
lea edx, [esp + 0x78]
mov edi, eax
mov ecx, 0x28
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esp + 0x118]
lea edi, [esp + 0xbe6]
mov ecx, 1
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x78], 0x33db31e5
mov dword [esp + 0x7c], 0x3fcc3ddf
mov dword [esp + 0x80], 0x3bc939cf
mov dword [esp + 0x84], 0xc728c533
mov dword [esp + 0x88], 0xc326c13c
mov dword [esp + 0x8c], 0xcf20cd1b
mov dword [esp + 0x90], 0xcb23c926
mov dword [esp + 0x94], 0xd73bd537
mov dword [esp + 0x98], 0xd3e3d134
mov dword [esp + 0x9c], 0xdfe8dde1
mov dword [esp + 0xa0], 0xdb3ed9e8
mov dword [esp + 0xa4], 0xe71be533
mov dword [esp + 0xa8], 0xe316e11c
mov dword [esp + 0xac], 0xef19ed1b
mov dword [esp + 0xb0], 0xeb0ee903
mov dword [esp + 0xb4], 0xf704f524
mov dword [esp + 0xb8], 0xf31cf107
mov dword [esp + 0xbc], 0xff0afd15
mov dword [esp + 0xc0], 0xfb09f915
mov dword [esp + 0xc4], 0x87518560
mov dword [esp + 0xc8], 0x837e817d
mov dword [esp + 0xcc], 0x8f798d78
mov dword [esp + 0xd0], 0x8b61897f
mov dword [esp + 0xd4], 0x97af9570
mov dword [esp + 0xd8], 0x93ad91a3
mov dword [esp + 0xdc], 0x9f5d9da1
mov dword [esp + 0xe0], 0x9b549956
mov dword [esp + 0xe4], 0xa79aa594
mov dword [esp + 0xe8], 0xa391a191
mov dword [esp + 0xec], 0xaf9fad9d
mov dword [esp + 0xf0], 0xab46a999
mov dword [esp + 0xf4], 0xb774b587
mov dword [esp + 0xf8], 0xb38ab188
mov dword [esp + 0xfc], 0xbf8ebd7d
mov dword [esp + 0x100], 0xbb8bb988
mov dword [esp + 0x104], 0x477a4574
mov dword [esp + 0x108], 0x43704182
mov dword [esp + 0x10c], 0x4f704d8d
mov dword [esp + 0x110], 0x4b754976
mov dword [esp + 0x114], 0x57b2556a
mov word [esp + 0x118], 0x5150
lea ecx, [esp + 0x118]
mov word [ecx + 6], 0
mov dword [ecx + 2], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x78]
lea edx, [ecx + 0x74]
and edx, esi
add edx, edx
add esi, ecx
add esi, 0xdcaad574
mov edi, esi
not edi
and edi, edx
not edx
and edx, esi
sub edx, edi
add dl, 0xbc
mov byte [esp + ecx + 0x78], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0xa8
jb case.default.0x420d21
lea edx, [esp + 0xaa4]
lea esi, [esp + 0x78]
mov edi, edx
mov ecx, 0x28
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea esi, [esp + 0x118]
lea edi, [esp + 0xb44]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea ecx, [esp + 0x91c]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x9be]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x87a]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
xor ecx, ecx
xor eax, eax
cmp ecx, 0x14
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x4468c0]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], 0xc8cbcacd
lea ecx, [esp + 0x118]
mov byte [ecx - 0x9a], 0
mov word [ecx - 0x9c], 0
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ecx, [edi + 0x49081c26]
mov edx, ecx
and edx, 0xc1000c03
xor ecx, 0xf5a68dd3
lea esi, [ecx + edx*2]
lea ecx, [ecx + edx*2]
add ecx, 0xb6f7e3da
lea edx, [esi*2 + 0x6defc7b4]
sub esi, edx
add esi, 0xd9
and esi, 0xc4
and ecx, 0x3b
or ecx, esi
xor cl, byte [esp + edi + 0x78]
xor cl, 0xc4
add cl, 0xe1
mov byte [esp + edi + 0x78], cl
mov ecx, edi
and ecx, 1
xor edi, 1
lea edi, [edi + ecx*2]
cmp edi, 7
jb 0x420d60
mov ecx, dword [0x44ce80]
test ecx, ecx
je 0x421530
mov edx, dword [esp + 0x78]
xor esi, esi
mov edi, dword [0x44ce84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x42150f
inc esi
cmp ecx, esi
jne 0x420de0
jmp 0x421530
mov ecx, dword [esp + 0x48]
add ecx, 4
xor eax, eax
cmp ecx, 0x14
setne al
jmp dword [eax*4 + 0x4468c0]
jmp dword [0x4468c8]
mov byte [esp + 0x78], 0x98
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + ecx + 0x64]
mov dword [esp + 0x78], 0xcf9ec998
mov dword [esp + 0x7c], 0xc392cd9c
mov dword [esp + 0x80], 0xc796c190
mov dword [esp + 0x84], 0xfb92c594
mov word [esp + 0x88], 0xf9f8
mov dword [esp + 0x8a], 0
jmp dword [0x4468d4]
mov dword [esp + 0x48], ecx
xor ecx, ecx
cmp ecx, 0x15
ja 0x420eb1
movzx edx, byte [esp + ecx + 0x78]
lea esi, [ecx - 0x4c54f82e]
xor esi, edx
mov edx, esi
and edx, 0x65
xor esi, 0xe5
lea edx, [esi + edx*2]
inc dl
mov byte [esp + ecx + 0x78], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0x15
jbe 0x420e80
movzx ecx, word [eax]
lea edx, [esp + 0xbe8]
test cx, cx
je 0x420ee1
add eax, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x420ed0
mov word [edx], 0
movzx eax, word [esp + 0x78]
test ax, ax
je 0x420f11
lea ecx, [esp + 0x7a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420f00
mov word [edx], 0
mov cx, 0x31
xor eax, eax
cmp cx, 0x35
setb al
mov dword [esp + 0x4c], edx
jmp dword [eax*4 + 0x4468d8]
mov ecx, dword [esp + 0x50]
inc ecx
xor eax, eax
cmp cx, 0x35
setb al
mov edx, dword [esp + 0x4c]
jmp dword [eax*4 + 0x4468d8]
mov word [edx - 2], cx
mov dword [esp + 0x50], ecx
lea eax, [esp + 0x28]
lea ecx, [esp + 0xbe8]
push dword [esp + 0x38]
push 0
push 0x20019
push eax
push ecx
call fcn.0043fb20
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4468f0]
mov dword [esp + 0x5c], 0x800
mov dword [esp + 0x24], 0x400
xor esi, esi
mov dword [esp + 4], 0
jmp case.0x41f55b.115
mov esi, dword [esp]
inc esi
lea eax, [esp + 0x24]
lea edi, [esp + 0x1de8]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x5c]
push eax
push edi
push ecx
push edx
lea eax, [esp + 0x88]
push eax
push esi
push dword [esp + 0x40]
call fcn.004401b0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4468f8]
test byte [esp + 4], 1
sete cl
mov edx, dword [esp + 0x58]
cmp edx, 1
sete al
and al, cl
mov ecx, dword [case.0x420d21.18]
nop
jmp ecx
movzx eax, al
mov dword [esp], esi
jmp dword [eax*4 + 0x446910]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x446920]
mov dword [esp + 0x54], edx
mov dword [esp + 0x34], ebp
mov dword [esp + 8], 0x59ff5b03
mov dword [esp + 0xc], 0x5def5ffd
mov dword [esp + 0x10], 0x51e053d7
mov dword [esp + 0x14], 0x555657e4
mov dword [esp + 0x18], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 8]
lea esi, [ecx - 0x1f1d8591]
xor esi, eax
mov edx, esi
and edx, 0x54
add edx, edx
xor esi, 0x2b
sub edx, esi
mov byte [esp + ecx + 8], dl
mov eax, ecx
xor eax, 0xecc691b0
and ecx, 0x10
lea ecx, [eax + ecx*2]
add ecx, 0x13396e51
cmp ecx, 0x13
jbe 0x421050
movzx ebx, word [esp + 8]
lea ebp, [esp + 0x78]
test bx, bx
je case.0x41f55b.123
lea edx, [esp + 0x78]
lea esi, [esp + 8]
mov ebp, edx
jmp 0x4210a8
movzx ebx, word [esi]
test bx, bx
je case.0x41f55b.123
movzx eax, word [edx]
test ax, ax
je 0x4210ca
add esi, 2
add edx, 2
lea ecx, [ebp + 2]
cmp ax, bx
je 0x4210c2
mov ebp, ecx
mov edx, ecx
je 0x4210a0
lea esi, [esp + 8]
jmp 0x4210a0
xor ebp, ebp
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x446918]
xor eax, eax
cmp dword [esp + 0x54], 3
sete al
mov ebp, dword [esp + 0x34]
mov esi, dword [esp]
jmp dword [eax*4 + 0x446920]
mov dword [esp + 8], 0x51ed4f1c
mov dword [esp + 0xc], 0x55e753e5
mov dword [esp + 0x10], 0x59e757ed
mov dword [esp + 0x14], 0x5dfe5bea
mov word [esp + 0x18], 0x5f5c
mov dword [esp + 0x1a], 0
mov eax, 0xdba037ed
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x245fc81b]
xor ecx, eax
mov edx, 1
sub edx, ecx
not edx
and edx, 1
or ecx, 1
add ecx, edx
add cl, 0x5e
mov byte [esp + eax + 0x245fc81b], cl
inc eax
cmp eax, 0xdba03803
jne 0x421130
movzx esi, word [esp + 8]
test si, si
je 0x421203
lea ecx, [esp + 0x78]
lea edx, [esp + 8]
mov eax, ecx
jmp 0x42118c
movzx esi, word [edx]
test si, si
je 0x42120b
movzx edi, word [ecx]
test di, di
je 0x421209
add edx, 2
add ecx, 2
lea ebx, [eax + 2]
cmp di, si
je 0x4211a6
mov eax, ebx
mov ecx, ebx
je 0x421180
lea edx, [esp + 8]
jmp 0x421180
mov ecx, dword [esp + 0x24]
cmp ecx, 2
mov ebp, dword [esp + 0x34]
mov esi, dword [esp]
jb 0x4212c6
shr ecx, 1
mov eax, ecx
and eax, 3
je 0x421266
xor edx, edx
lea edi, [esp + 0x1de8]
nop
nop
nop
nop
nop
nop
movzx esi, word [edi]
xor ebx, ebx
test si, si
setne bl
lea edi, [edi + ebx*2]
mov word [ebp], si
add ebp, 2
inc edx
cmp eax, edx
jne 0x4211e0
mov eax, ecx
sub eax, edx
mov esi, dword [esp]
jmp 0x421268
lea eax, [esp + 0x78]
jmp 0x42120b
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446928]
mov edx, dword [esp + 0x24]
cmp edx, 2
mov esi, dword [esp]
jb case.0x41f55b.130
shr edx, 1
mov ecx, edx
and ecx, 3
je 0x4212dc
xor esi, esi
lea eax, [esp + 0x1de8]
nop
movzx edi, word [eax]
xor ebx, ebx
test di, di
setne bl
lea eax, [eax + ebx*2]
mov word [ebp], di
add ebp, 2
inc esi
cmp ecx, esi
jne 0x421240
mov ecx, edx
sub ecx, esi
mov esi, dword [esp]
jmp 0x4212e5
mov eax, ecx
dec ecx
cmp ecx, 3
jb 0x4212c6
nop
nop
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [esi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], cx
movzx edx, word [edi + edx*2]
xor ecx, ecx
test dx, dx
setne cl
mov word [ebp + 6], dx
add ebp, 8
lea edi, [esi + ecx*2]
add eax, 0xfffffffc
jne 0x421270
mov esi, dword [esp]
mov dword [ebp], 0x20003a
add ebp, 4
mov al, 1
mov dword [esp + 4], eax
inc esi
jmp case.0x41f55b.115
lea eax, [esp + 0x1de8]
mov ecx, edx
dec edx
cmp edx, 3
jb case.0x41f55b.130
nop
nop
nop
nop
nop
movzx edx, word [eax]
xor ebx, ebx
test dx, dx
setne bl
lea esi, [eax + ebx*2]
mov word [ebp], dx
movzx eax, word [eax + ebx*2]
xor edx, edx
test ax, ax
setne dl
lea edi, [esi + edx*2]
mov word [ebp + 2], ax
movzx eax, word [esi + edx*2]
xor edx, edx
test ax, ax
setne dl
lea esi, [edi + edx*2]
mov word [ebp + 4], ax
movzx edx, word [edi + edx*2]
xor eax, eax
test dx, dx
setne al
mov word [ebp + 6], dx
add ebp, 8
lea eax, [esi + eax*2]
add ecx, 0xfffffffc
jne 0x4212f0
mov esi, dword [esp]
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0x30], eax
inc esi
jmp case.0x41f55b.115
jmp dword [0x446930]
cmp dword [edi + esi*8], 0xb62b8d10
je 0x421380
inc esi
cmp ecx, esi
jne 0x421370
jmp case.0x420d21.28
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x420d21.28
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0xc8cbcacd
lea ecx, [esp + 0xc]
mov byte [ecx + 2], 0
mov word [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
lea edx, [ecx + 0x49081c26]
mov esi, edx
and esi, 0xc1000c03
xor edx, 0xf5a68dd3
lea edi, [edx + esi*2]
lea edx, [edx + esi*2]
add edx, 0xb6f7e3da
lea esi, [edi*2 + 0x6defc7b4]
sub edi, esi
add edi, 0xd9
and edi, 0xc4
and edx, 0x3b
or edx, edi
xor dl, byte [esp + ecx + 8]
xor dl, 0xc4
add dl, 0xe1
mov byte [esp + ecx + 8], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 7
jb 0x4213c0
mov ecx, dword [0x44ce80]
test ecx, ecx
je 0x421450
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x44ce84]
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x421440
inc esi
cmp ecx, esi
jne 0x421430
jmp 0x421450
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4214f7
nop
nop
nop
nop
jmp dword [0x446938]
mov eax, dword [esp + 0x28]
mov dword [esp + 8], 0xc8cbcacd
lea ecx, [esp + 0xc]
mov byte [ecx + 2], 0
mov word [ecx], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [ecx + 0x49081c26]
mov esi, edx
and esi, 0xc1000c03
xor edx, 0xf5a68dd3
lea edi, [edx + esi*2]
lea edx, [edx + esi*2]
add edx, 0xb6f7e3da
lea esi, [edi*2 + 0x6defc7b4]
sub edi, esi
add edi, 0xd9
and edi, 0xc4
and edx, 0x3b
or edx, edi
xor dl, byte [esp + ecx + 8]
xor dl, 0xc4
add dl, 0xe1
mov byte [esp + ecx + 8], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 7
jb 0x421480
mov ecx, dword [0x44ce80]
test ecx, ecx
je case.0x420d21.28
mov edx, dword [esp + 8]
xor esi, esi
mov edi, dword [0x44ce84]
jmp 0x421370
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
jmp dword [0x446938]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x421530
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x420d21.35]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
nop
nop
nop
jmp eax
jmp dword [0x446950]
push esi
call fcn.00408780
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [esp + 0x20]
setb al
jmp dword [eax*4 + 0x446880]
mov word [ebp], 0
mov eax, dword [esp + 0x30]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x446888]
movzx ebx, word [esp + 0xde8]
xor ebp, ebp
test bx, bx
je 0x4215db
lea eax, [esp + 0xdea]
mov ecx, ebx
jmp 0x4215ac
inc ebp
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x4215db
cmp cx, 0x7f
jbe 0x4215a0
movzx edx, cx
cmp edx, 0x7ff
ja 0x4215d0
add ebp, 2
jmp 0x4215a1
cmp cx, 0xffff
je 0x4215a1
add ebp, 3
jmp 0x4215a1
lea eax, [ebp + 1]
mov dword [esp + 4], eax
mov dword [esp], ebp
jmp dword [0x446958]
push dword [esp + 4]
call fcn.00408770
add esp, 4
test bx, bx
je 0x421729
test ebp, ebp
je 0x421729
mov ecx, ebp
lea ebp, [esp + 0xde8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, bx
lea edi, [ebp + 2]
cmp dx, 0x7f
ja 0x421640
lea esi, [eax + 1]
mov byte [eax], dl
jmp 0x4216d0
cmp edx, 0x7ff
ja 0x421670
cmp ecx, 2
jb 0x421670
mov ebx, edx
shr ebx, 6
add bl, 0xc0
mov byte [eax], bl
mov esi, edx
xor esi, 0xc0
or edx, 0x3f
and edx, esi
add dl, 0x80
lea esi, [eax + 2]
mov byte [eax + 1], dl
jmp 0x4216d0
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x4216eb
cmp ecx, 4
jb 0x4216eb
movzx esi, word [ebp + 2]
shl edx, 0xa
lea ebx, [edx + esi]
add ebx, 0xfca02400
mov edx, ebx
shr edx, 0x12
add dl, 0xf0
mov byte [eax], dl
mov edx, ebx
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
mov byte [eax + 1], dl
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 2], bl
mov dl, 0x3f
mov ebx, esi
sub dl, bl
and dl, 0x3f
xor dl, 0xbf
mov byte [eax + 3], dl
lea esi, [eax + 4]
add ebp, 4
mov edi, ebp
add ecx, eax
sub ecx, esi
mov ebp, edi
mov eax, esi
movzx ebx, word [ebp]
test bx, bx
je 0x421729
test ecx, ecx
jne 0x421620
jmp 0x421729
movzx esi, si
cmp esi, 0xdc00
jne 0x4216fa
mov ebp, edi
jmp 0x4216d8
cmp ecx, 3
jb 0x421725
mov ebx, edx
shr ebx, 0xc
or bl, 0xe0
mov byte [eax], bl
mov ebx, edx
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
and dl, 0x3f
or dl, 0x80
lea esi, [eax + 3]
mov byte [eax + 2], dl
jmp 0x4216d0
mov esi, eax
jmp 0x4216d0
mov byte [eax], 0
mov dword [esp + 0x78], 0x35363747
mov dword [esp + 0x7c], 0x31212e2b
mov dword [esp + 0x80], 0x34383e27
mov dword [esp + 0x84], 0x29355a79
mov dword [esp + 0x88], 0x24272620
mov dword [esp + 0x8c], 0x2c204361
mov dword [esp + 0x90], 0x362a3432
mov dword [esp + 0x94], 0xdd266d25
mov dword [esp + 0x98], 0x67d8
mov eax, 0xfc2057e1
mov ecx, 0x1e
mov ebp, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 0x3dfa897]
mov edi, ecx
and edi, esi
lea edx, [esi + esi]
not edx
add edx, esi
and edx, eax
or edx, edi
lea esi, [edx + 0x9a]
mov edi, 0xeca1b765
sub edi, edx
and edx, 1
mov ebx, edi
not ebx
and edi, 0x17
and esi, 0xe8
or esi, edi
and ebx, 1
or ebx, esi
xor ebx, 0x16
add ebx, edx
mov byte [esp + eax + 0x3dfa897], bl
inc eax
dec ecx
cmp eax, 0xfc205805
jne 0x4217a0
push dword [esp + 4]
call fcn.00408770
add esp, 4
mov esi, eax
mov ecx, eax
test ebp, ebp
je 0x421940
movzx eax, word [esp + 0xde8]
mov ecx, esi
test ax, ax
je 0x421940
lea ebp, [esp + 0xde8]
mov edx, dword [esp]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, ax
lea edi, [ebp + 2]
cmp bx, 0x7f
ja 0x421850
lea eax, [ecx + 1]
mov byte [ecx], bl
jmp 0x4218e0
cmp ebx, 0x7ff
ja 0x421880
cmp edx, 2
jb 0x421880
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [ecx], al
mov eax, ebx
xor eax, 0xc0
or ebx, 0x3f
and ebx, eax
add bl, 0x80
lea eax, [ecx + 2]
mov byte [ecx + 1], bl
jmp 0x4218e0
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4218fb
cmp edx, 4
jb 0x4218fb
movzx edi, word [ebp + 2]
shl ebx, 0xa
lea eax, [ebx + edi]
add eax, 0xfca02400
mov ebx, eax
shr ebx, 0x12
add bl, 0xf0
mov byte [ecx], bl
mov ebx, eax
shr ebx, 0xc
and bl, 0x3f
or bl, 0x80
mov byte [ecx + 1], bl
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [ecx + 2], al
mov al, 0x3f
mov ebx, edi
sub al, bl
and al, 0x3f
xor al, 0xbf
mov byte [ecx + 3], al
lea eax, [ecx + 4]
add ebp, 4
mov edi, ebp
nop
nop
nop
nop
nop
nop
nop
add edx, ecx
sub edx, eax
mov ebp, edi
mov ecx, eax
movzx eax, word [ebp]
test ax, ax
je 0x421940
test edx, edx
jne 0x421830
jmp 0x421940
movzx eax, ax
cmp eax, 0xdc00
jne 0x421909
mov ebp, edi
jmp 0x4218e8
cmp edx, 3
jb 0x421931
mov eax, ebx
shr eax, 0xc
or al, 0xe0
mov byte [ecx], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [ecx + 1], al
and bl, 0x3f
or bl, 0x80
lea eax, [ecx + 3]
mov byte [ecx + 2], bl
jmp 0x4218e0
mov eax, ecx
jmp 0x4218e0
mov byte [ecx], 0
mov dword [esp + 0x78], 0x35363747
mov dword [esp + 0x7c], 0x31212e2b
mov dword [esp + 0x80], 0x34383e27
mov dword [esp + 0x84], 0x29355a79
mov dword [esp + 0x88], 0x24272620
mov dword [esp + 0x8c], 0x2c204361
mov dword [esp + 0x90], 0x362a3432
mov dword [esp + 0x94], 0xdd266d25
mov dword [esp + 0x98], 0x67d8
mov ecx, 0xfc2057e1
mov edx, 0x1e
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x3dfa897]
mov ebx, edx
and ebx, edi
lea eax, [edi + edi]
not eax
add eax, edi
and eax, ecx
or eax, ebx
lea edi, [eax + 0x9a]
mov ebp, 0xeca1b765
sub ebp, eax
and eax, 1
mov ebx, ebp
not ebx
and ebp, 0x17
and edi, 0xe8
or edi, ebp
and ebx, 1
or ebx, edi
xor ebx, 0x16
add ebx, eax
mov byte [esp + ecx + 0x3dfa897], bl
inc ecx
dec edx
cmp ecx, 0xfc205805
jne 0x4219b0
mov ebp, dword [esp]
jmp dword [0x446960]
lea eax, [esp + 0x78]
mov ecx, dword [esp + 0x21fc]
push ebp
mov edi, esi
push esi
push eax
call fcn.00409700
jmp dword [0x446968]
push edi
mov esi, eax
call fcn.00408780
mov eax, esi
add esp, 4
and al, 1
jmp 0x421a48
jmp dword [0x446878]
xor eax, eax
add esp, 0x21e8
pop esi
pop edi
pop ebx
pop ebp
ret
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446868]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x30], 0
cmp ecx, dword [esp + 0x20]
setb al
xor edi, edi
jmp dword [eax*4 + 0x446880]
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x20]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push esi
call fcn.0043fec0
add esp, 0x24
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x20]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push esi
call fcn.0043fec0
add esp, 0x24
jmp dword [0x446860]
int3
xor eax, eax
mov ecx, dword [esp]
cmp ebp, ecx
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x446f3c]
movzx ecx, word [ecx]
test cx, cx
je 0x42244b
mov eax, dword [esp]
add eax, 2
xor ebx, ebx
jmp 0x42241c
xor ebx, ebx
test edx, edx
sete bl
xor ecx, ecx
jmp dword [ebx*4 + 0x446f34]
jmp dword [ecx*4 + 0x446ed4]
mov dword [esp + 0x40], 0xf74809ac
mov dword [esp + 0x44], 0xf339f539
mov dword [esp + 0x48], 0xff41f139
mov dword [esp + 0x4c], 0xfb44fd40
mov dword [esp + 0x50], 0xe742f941
mov dword [esp + 0x54], 0xe323e551
mov dword [esp + 0x58], 0xef26e12f
mov dword [esp + 0x5c], 0xeb58ed25
mov dword [esp + 0x60], 0xd772e925
mov dword [esp + 0x64], 0xd361d56b
mov dword [esp + 0x68], 0xdf62d11a
mov dword [esp + 0x6c], 0xdb1bdd67
mov dword [esp + 0x70], 0xc70bd966
mov dword [esp + 0x74], 0xc377c560
mov dword [esp + 0x78], 0xcf61c169
mov dword [esp + 0x7c], 0xcb59cd52
mov dword [esp + 0x80], 0xb725c957
mov dword [esp + 0x84], 0xb32eb51e
mov dword [esp + 0x88], 0xbf05b114
mov dword [esp + 0x8c], 0xbb28bd15
mov dword [esp + 0x90], 0xa735b914
mov dword [esp + 0x94], 0xa33da53f
mov dword [esp + 0x98], 0xaf61a104
mov dword [esp + 0x9c], 0xab34ad31
mov dword [esp + 0xa0], 0x973ba936
mov dword [esp + 0xa4], 0x930e9506
mov dword [esp + 0xa8], 0x9f33912a
mov dword [esp + 0xac], 0x9b059d02
mov dword [esp + 0xb0], 0x87159931
mov dword [esp + 0xb4], 0x83268516
mov dword [esp + 0xb8], 0x8f1c813d
mov dword [esp + 0xbc], 0x8b188d25
mov dword [esp + 0xc0], 0x77ea8917
mov dword [esp + 0xc4], 0x73e675d5
mov dword [esp + 0xc8], 0x7f7e71e4
mov word [esp + 0xcc], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x7e
xor dl, byte [esp + ecx + 0x40]
add dl, 0x8a
mov byte [esp + ecx + 0x40], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0x8e
jb case.default.0x421fed
lea ecx, [esp + 0xc]
lea edx, [esp + 0x40]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043fb20
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x446edc]
lea eax, [esp + 0x3c]
lea ecx, [esp + 8]
push 0
push 0
push 0
push 0
push eax
push ecx
push 0
push 0
push dword [esp + 0x2c]
call fcn.0043fec0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446ee4]
jmp 0x4220c3
mov edx, 4
xor ebx, ebx
cmp edx, 4
setb bl
mov eax, 0x20119
xor ecx, ecx
jmp dword [ebx*4 + 0x446f2c]
mov eax, dword [esp + 8]
mov ecx, eax
and ecx, 0x104
mov edx, eax
or eax, 0x104
imul eax, ecx
xor ecx, 0x104
and edx, 0x7ffffefb
imul edx, ecx
add eax, edx
lea eax, [edi + eax*2]
push eax
push dword [esp + 4]
call fcn.0043bf80
add esp, 8
mov dword [esp], eax
lea ebp, [eax + edi*2]
xor esi, esi
xor eax, eax
cmp esi, dword [esp + 8]
setb al
jmp dword [eax*4 + 0x446eec]
jmp dword [0x446ef8]
mov word [ebp], 0
nop
nop
nop
nop
mov word [ebp], 0
jmp dword [0x446f00]
mov edi, ebp
sub edi, dword [esp]
sar edi, 1
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], 0x3c3d3a3b
lea ecx, [esp + 0x44]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x1dfd414a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x1dfd410a]
xor esi, ecx
mov edx, esi
and edx, 0xd
add edx, edx
xor esi, 0x72
sub edx, esi
mov byte [esp + ecx - 0x1dfd410a], dl
inc ecx
cmp ecx, 0x1dfd4151
jne 0x4220f0
mov ecx, dword [0x44ce80]
test ecx, ecx
je case.default.0x4223ca
mov edx, dword [esp + 0x40]
xor esi, esi
mov ebx, dword [0x44ce84]
cmp dword [ebx + esi*8], 0xb62b8d10
je 0x42238b
inc esi
cmp ecx, esi
jne 0x422130
jmp case.default.0x4223ca
inc esi
xor eax, eax
cmp esi, dword [esp + 8]
setb al
jmp dword [eax*4 + 0x446eec]
mov ebx, dword [esp + 0x3c]
lea ecx, [ebx + ebx]
and ecx, 2
mov eax, ecx
and eax, ebx
or ecx, ebx
xor ecx, 1
add ecx, eax
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x422182
mov eax, 0xffffffff
push eax
call fcn.00408770
add esp, 4
mov edi, eax
mov dword [esp + 0x38], ebx
lea eax, [esp + 0x38]
push eax
push edi
push esi
push dword [esp + 0x18]
call fcn.0043fc20
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446f04]
jmp dword [0x446f1c]
lea eax, [esp + 0x10]
push dword [esp + 0xc]
push 0
push 0x20019
push eax
push edi
call fcn.0043fb20
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446f0c]
jmp dword [0x446f1c]
mov dword [esp + 0x34], 0x800
mov dword [esp + 0x14], 0x31453f78
mov dword [esp + 0x18], 0x35423345
mov dword [esp + 0x1c], 0x49553748
mov dword [esp + 0x20], 0x4d144bc3
mov dword [esp + 0x24], 0x41314f2f
mov dword [esp + 0x28], 0x45424327
lea eax, [esp + 0x2c]
mov byte [eax + 2], 0
mov word [eax], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x35
xor cl, byte [esp + eax + 0x14]
add cl, 0xf7
mov byte [esp + eax + 0x14], cl
lea ecx, [eax + eax]
and ecx, 2
mov edx, ecx
and edx, eax
or ecx, eax
xor ecx, 1
add ecx, edx
mov eax, ecx
cmp ecx, 0x1b
jb case.default.0x42228a
lea eax, [esp + 0x34]
lea ecx, [esp + 0x14]
push eax
lea eax, [esp + 0x44]
push eax
push 0
push ecx
push dword [esp + 0x20]
call fcn.004404b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446f14]
jmp 0x4222cb
movzx eax, word [esp + 0x40]
test ax, ax
je 0x4222c2
lea ecx, [esp + 0x42]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4222b0
mov word [ebp], 0xa
add ebp, 2
mov eax, dword [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp + 0x14], 0x3c3d3a3b
lea eax, [esp + 0x2c]
mov byte [eax - 0x12], 0
mov word [eax - 0x14], 0
mov ecx, 0x1dfd414a
nop
nop
movzx edx, byte [esp + ecx - 0x1dfd4136]
xor edx, ecx
mov eax, edx
and eax, 0xd
add eax, eax
xor edx, 0x72
sub eax, edx
mov byte [esp + ecx - 0x1dfd4136], al
inc ecx
cmp ecx, 0x1dfd4151
jne 0x4222f0
mov ecx, dword [0x44ce80]
test ecx, ecx
je 0x422350
mov edx, dword [esp + 0x14]
xor ebx, ebx
mov eax, dword [0x44ce84]
nop
nop
nop
nop
nop
cmp dword [eax + ebx*8], 0xb62b8d10
je 0x422340
inc ebx
cmp ecx, ebx
jne 0x422330
jmp 0x422350
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edx
jne 0x422370
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x446f1c]
push edi
call fcn.00408780
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [esp + 8]
setb al
jmp dword [eax*4 + 0x446eec]
push dword [esp + 4]
push 4
push eax
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
jmp dword [0x446f1c]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
je case.default.0x4223ca
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x40]
push eax
call fcn.0043f2b0
add esp, 4
cmp dword [esp + 0x40], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446f24]
xor ecx, ecx
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x446f2c]
mov edx, 2
xor ebx, ebx
cmp edx, 4
setb bl
mov eax, 0x20119
xor ecx, ecx
jmp dword [ebx*4 + 0x446f2c]
inc ebx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x42244b
cmp cx, 0x7f
jbe 0x422410
movzx edx, cx
cmp edx, 0x7ff
ja 0x422440
add ebx, 2
jmp 0x422411
cmp cx, 0xffff
je 0x422411
add ebx, 3
jmp 0x422411
lea eax, [ebx + 1]
push eax
call fcn.00408770
add esp, 4
mov dword [esp + 4], eax
test ebx, ebx
mov dword [esp + 0x30], ebx
je 0x422598
mov eax, dword [esp]
movzx edx, word [eax]
mov eax, dword [esp + 4]
test dx, dx
je 0x422598
mov esi, dword [esp]
mov ecx, ebx
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, dx
lea edi, [esi + 2]
cmp dx, 0x7f
ja 0x4224b0
lea ebp, [eax + 1]
mov byte [eax], dl
jmp 0x422540
cmp edx, 0x7ff
ja 0x4224e0
cmp ecx, 2
jb 0x4224e0
mov ebx, edx
shr ebx, 6
add bl, 0xc0
mov byte [eax], bl
and dl, 0x3f
or dl, 0x80
mov byte [eax + 1], dl
lea ebp, [eax + 2]
jmp 0x422540
mov ebp, edx
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x42255a
cmp ecx, 4
jb 0x42255a
movzx edi, word [esi + 2]
add esi, 4
shl edx, 0xa
lea ebx, [edx + edi]
add ebx, 0xfca02400
mov edx, ebx
shr edx, 0x12
add dl, 0xf0
mov byte [eax], dl
mov edx, ebx
shr edx, 0xc
and dl, 0x3f
or dl, 0x80
mov byte [eax + 1], dl
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 2], bl
mov edx, edi
and dl, 0x3f
or dl, 0x80
lea ebp, [eax + 4]
mov byte [eax + 3], dl
mov edi, esi
nop
nop
nop
nop
add ecx, eax
sub ecx, ebp
mov esi, edi
mov eax, ebp
movzx edx, word [esi]
test dx, dx
je 0x422598
test ecx, ecx
jne 0x422490
jmp 0x422598
movzx esi, bp
cmp esi, 0xdc00
jne 0x422569
mov esi, edi
jmp 0x422548
cmp ecx, 3
jb 0x422594
mov ebx, edx
shr ebx, 0xc
or bl, 0xe0
mov byte [eax], bl
mov ebx, edx
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
and dl, 0x3f
or dl, 0x80
lea ebp, [eax + 3]
mov byte [eax + 2], dl
jmp 0x422540
mov ebp, eax
jmp 0x422540
mov ecx, dword [esp + 0x854]
mov byte [eax], 0
mov dword [esp + 0x40], 0xffece603
mov dword [esp + 0x44], 0xf2fc0ce3
mov dword [esp + 0x48], 0xe7e2e53e
mov byte [esp + 0x4c], 0x64
mov dword [esp + 0x4d], 0
mov dword [esp + 0x50], 0
xor eax, eax
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0x18
mov ebx, edx
xor ebx, 0x6c
add ebx, esi
xor bl, byte [esp + edx + 0x40]
add bl, 0xe4
mov byte [esp + edx + 0x40], bl
inc edx
add eax, 2
cmp edx, 0x14
jne 0x4225e0
lea eax, [esp + 0x40]
push dword [esp + 0x30]
mov esi, dword [esp + 8]
push esi
push eax
call fcn.00409700
mov ebx, eax
mov ecx, dword [esp]
jmp dword [0x446f44]
push esi
call fcn.00408780
mov ecx, dword [esp + 4]
add esp, 4
push ecx
call fcn.00438920
add esp, 4
mov eax, ebx
add esp, 0x840
pop esi
pop edi
pop ebx
pop ebp
ret
int3
lea ecx, [esp + 0x24]
push 0x410
call fcn.00438c50
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446f54]
mov dword [esp + 0x4c], 0x26fd341f
mov dword [esp + 0x50], 0x3422c7dc
mov dword [esp + 0x54], 0x28232dc3
mov dword [esp + 0x58], 0xdd262acf
mov dword [esp + 0x5c], 0x3cd5eede
mov dword [esp + 0x60], 0x35d0ead7
mov dword [esp + 0x64], 0x3ec7daca
mov dword [esp + 0x68], 0x3ae138d1
mov dword [esp + 0x6c], 0xa2acb2d2
mov dword [esp + 0x70], 0x42a58fb3
mov dword [esp + 0x74], 0xd182aba3
mov dword [esp + 0x78], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0x1f
xor al, byte [esp + ebx + 0x4c]
add al, 0x65
mov byte [esp + ebx + 0x4c], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 0x30
jb case.default.0x422c64
lea eax, [esp + 0x40]
lea ecx, [esp + 0x24]
push 0
push 0x2b
lea edx, [esp + 0x54]
push edx
push eax
call fcn.004396d0
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x446f5c]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408770
add esp, 4
mov dword [esp + 0x20], 0
xor ecx, ecx
mov dword [esp + 0x3c], esi
cmp edi, esi
setne cl
mov dword [esp + 0x1c], eax
mov esi, eax
jmp dword [ecx*4 + 0x446f64]
mov ebx, dword [esp + 0x20]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x446f6c]
jmp dword [0x446ff0]
mov byte [esi], 0
jmp dword [0x446ff8]
mov byte [esi], 0
mov byte [esi], 0
jmp dword [0x446ff8]
mov dword [esp + 0x4c], 0xb3aea9d9
mov dword [esp + 0x50], 0x5743bab5
mov dword [esp + 0x54], 0x50545249
mov dword [esp + 0x58], 0x4e5e3217
mov dword [esp + 0x5c], 0x3b1d4449
mov dword [esp + 0x60], 0x4157425f
mov dword [esp + 0x64], 0x4f420347
mov word [esp + 0x68], 0xf540
mov dword [esp + 0x6a], 0
mov word [esp + 0x6e], 0
xor eax, eax
mov ecx, dword [ebp + 8]
nop
mov edx, eax
add dl, 0x7a
xor dl, byte [esp + eax + 0x4c]
add dl, 0x9e
mov byte [esp + eax + 0x4c], dl
inc eax
cmp eax, 0x24
jne 0x422d30
mov edx, dword [esp + 0x1c]
sub esi, edx
lea eax, [esp + 0x4c]
push esi
push edx
push eax
call fcn.00409700
mov ebx, eax
mov eax, dword [case.0x422c64.4]
nop
jmp eax
jmp dword [0x44700c]
push dword [esp + 0x1c]
call fcn.00408780
add esp, 4
and bl, 1
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
test edi, edi
jne 0x423158
jmp case.0x4223ca.11
add edi, 8
xor eax, eax
cmp edi, dword [esp + 0x3c]
setne al
jmp dword [eax*4 + 0x446f64]
mov dword [esp], esi
mov esi, dword [edi]
mov dword [esp + 8], edi
mov edi, dword [edi + 4]
push 0x400
push 0
lea ebx, [esp + 0x54]
push ebx
call fcn.004087f0
add esp, 0xc
lea eax, [esp + 0x10]
lea ecx, [esp + 0x24]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.00439540
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 0x10]
or ecx, dword [esp + 0x14]
sete cl
or cl, al
movzx ecx, cl
mov eax, 1
jmp dword [ecx*4 + 0x446f74]
mov ecx, dword [case.0x422c64.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
jmp ecx
mov edi, dword [esp + 8]
mov esi, dword [esp]
jmp dword [eax*4 + 0x446f8c]
mov byte [esp + 0x44b], 0
movzx eax, byte [esp + 0x4c]
xor ebx, ebx
test al, al
je 0x422e51
lea ecx, [esp + 0x4c]
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x422e4f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x422e40
jmp 0x422e51
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446f94]
movzx ecx, byte [ebx + 1]
inc ebx
xor eax, eax
test cl, cl
je 0x422e82
mov edx, ebx
nop
nop
nop
nop
cmp cl, 0x2e
je 0x422e80
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x422e70
jmp 0x422e82
mov eax, edx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446f9c]
mov esi, eax
not esi
and esi, ebx
mov edi, ebx
not edi
and edi, eax
mov ecx, edi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [ebx + ecx - 1]
cmp eax, 0x3d
je 0x422eb5
cmp eax, 0x2e
jne 0x422eb6
dec edx
movzx eax, byte [ebx + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 4], ecx
je 0x422ec9
cmp eax, 0x2e
jne 0x422eca
dec edx
mov dword [esp + 0x34], edx
lea eax, [edx + 1]
push eax
call fcn.00408770
add esp, 4
mov dword [esp + 0xc], eax
cmp edi, esi
jne 0x422f42
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0xc]
mov byte [esi + eax], 0
push esi
call fcn.00401000
add esp, 4
mov ebx, eax
jmp dword [0x446fa4]
jmp dword [0x446fb0]
push esi
call fcn.00408780
add esp, 4
nop
nop
push esi
call fcn.00408780
add esp, 4
jmp dword [0x446fb4]
push ebx
call fcn.00401ac0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446fbc]
mov edi, dword [esp + 8]
mov esi, dword [esp]
jmp 0x42313a
xor esi, esi
mov edi, 2
mov dword [esp + 0x18], ebx
jmp 0x422f68
mov ecx, dword [esp + 4]
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
mov ebx, dword [esp + 0x18]
jae 0x422ee2
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00419d50
add esp, 4
mov ecx, ebx
mov bh, al
movzx eax, byte [ecx + edi - 1]
push eax
call fcn.00419d50
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [esp + 0xc]
mov byte [ecx + esi], al
mov eax, esi
and eax, 1
xor esi, 1
lea esi, [esi + eax*2]
mov ecx, dword [esp + 4]
cmp edi, ecx
jae 0x422f54
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + edi]
push eax
call fcn.00419d50
add esp, 4
cmp al, 0x40
je 0x422f50
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, esi
inc esi
mov edx, dword [esp + 0xc]
mov dword [esp + 0x38], ebx
mov byte [edx + ebx], cl
lea ecx, [edi + 1]
mov edx, dword [esp + 4]
cmp ecx, edx
jae 0x423022
mov ebx, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00419d50
mov ecx, dword [esp + 8]
add esp, 4
cmp al, 0x40
je 0x422f54
shl bl, 6
add al, bl
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x38]
mov byte [edx + esi + 1], al
add esi, 2
jmp 0x422f54
mov ecx, edx
jmp 0x422f54
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0x17889497
mov word [esp + 0x14], 0
mov esi, 0x86
mov edx, 0x79
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + esi - 0x76]
mov ecx, esi
xor ecx, edx
and ecx, edi
xor ecx, edx
mov bl, 0x61
sub bl, cl
mov byte [esp + esi - 0x76], bl
inc esi
dec edx
cmp esi, 0x8c
jne case.default.0x423084
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00401880
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446fc4]
mov edi, dword [esp]
jmp dword [0x446fd0]
movzx ecx, byte [eax]
mov edx, edi
test cl, cl
je 0x4230bb
lea esi, [eax + 1]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x4230b0
mov word [edx], 0x203a
jmp case.0x423084.2
mov word [ecx], 0x203a
jmp dword [0x446fd4]
movzx edx, byte [eax]
mov ecx, edi
test dl, dl
je 0x4230d0
lea esi, [eax + 1]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x4230f0
jmp 0x4230d0
add ecx, 2
mov dword [esp], ecx
mov edi, dword [esp + 8]
movzx eax, byte [esp + 0x4c]
test al, al
mov ebx, dword [esp + 4]
je 0x42312d
lea ecx, [esp + 0x4d]
mov esi, dword [esp]
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x423120
jmp 0x423130
mov esi, dword [esp]
mov byte [esi], 0xa
inc esi
mov al, 1
mov dword [esp + 0x20], eax
push ebx
call fcn.00402070
add esp, 4
mov eax, dword [case.0x422c64.12]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ebx, ebx
test edi, edi
je case.0x4223ca.11
cmp edi, esi
je case.0x4223ca.11
push edi
call fcn.00408780
add esp, 4
lea ecx, [esp + 0x24]
call fcn.00438e60
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov dword [ebp - 0x14], esi
mov byte [esi], 0
mov eax, dword [ebp - 0x48]
mov dword [eax], 0x859a9be3
mov dword [eax + 4], 0x99898a87
mov dword [eax + 8], 0x84808283
mov dword [eax + 0xc], 0x9e82e2c1
mov dword [eax + 0x10], 0xedcb8893
mov dword [eax + 0x14], 0x8f959289
mov dword [eax + 0x18], 0xb9b6f189
mov dword [eax + 0x1c], 0x7b4
mov eax, 0x7fa784c7
mov ecx, 0x80587b38
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x48]
movzx edx, byte [edx + eax - 0x7fa784c7]
mov esi, ecx
and esi, 0x80184a39
mov edi, eax
and edi, 0x30810006
or edi, esi
xor edi, edx
xor edi, 0xf9
lea ebx, [eax - 0x7fa78400]
and ebx, edx
or ebx, edi
and edx, eax
sub ebx, edx
add bl, 0x1d
mov edx, dword [ebp - 0x48]
mov byte [edx + eax - 0x7fa784c7], bl
inc eax
dec ecx
cmp eax, 0x7fa784e7
jne 0x4231e0
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov ecx, dword [ebp + 8]
push edx
push eax
push dword [ebp - 0x48]
call fcn.00409700
mov ebx, dword [ebp - 0x24]
jmp dword [0x4471b4]
and al, 1
mov dword [ebp - 0x10], eax
jmp dword [0x4471bc]
push dword [ebp - 0x5c]
call fcn.00408780
add esp, 4
mov eax, dword [esi]
mov dword [ebp - 0x44], 0x3c3d3a3b
mov word [ebp - 0x40], 0
mov byte [ebp - 0x3e], 0
mov ecx, 0x1dfd414a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x1dfd418e]
xor esi, ecx
mov edx, esi
and edx, 0xd
add edx, edx
xor esi, 0x72
sub edx, esi
mov byte [ebp + ecx - 0x1dfd418e], dl
inc ecx
cmp ecx, 0x1dfd4151
jne 0x423280
mov ecx, dword [0x44ce80]
test ecx, ecx
je case.0x423084.29
mov edx, dword [ebp - 0x44]
xor esi, esi
mov edi, dword [0x44ce84]
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x4232d3
inc esi
cmp ecx, esi
jne 0x4232c0
jmp case.0x423084.29
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x423084.29
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
jmp dword [0x4470ac]
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x4470c4]
sub eax, ecx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408770
add esp, 4
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x3c]
mov dword [edx], 0x8152876b
mov dword [edx + 4], 0x8d2f8331
mov dword [edx + 8], 0x893a8f2f
mov dword [edx + 0xc], 0x953a8b4b
mov dword [edx + 0x10], 0x915a9724
mov dword [edx + 0x14], 0x9d2e9333
mov dword [edx + 0x18], 0x99719f3f
mov dword [edx + 0x1c], 0x65479b3c
mov dword [edx + 0x20], 0x61c967d8
mov dword [edx + 0x24], 0x6dd563c3
mov dword [edx + 0x28], 0x69da6fc8
mov dword [edx + 0x2c], 0x75c76bd9
mov dword [edx + 0x30], 0x71c277d7
mov dword [edx + 0x34], 0x7dcc7386
mov dword [edx + 0x38], 0x79d07fd0
add dword [ebp - 0x38], 0x3c
mov word [edx + 0x3c], 0x7b78
mov byte [edx + 0x42], 0
mov dword [edx + 0x3e], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [edx + ecx]
mov edx, ecx
xor edx, 0xfd6d7a98
mov edi, eax
and edi, 0xce
sub edi, edx
mov edx, edi
and edx, 0x2808161
xor edi, 0x9b84c161
lea edx, [edi + edx*2]
add edx, 0xfd6d7a98
xor edx, esi
mov edi, edx
xor edi, 0x997c6e5
mov esi, edx
or esi, 0xf668391a
and esi, edi
mov ebx, edx
and ebx, 2
mov edi, esi
or esi, 2
imul esi, ebx
xor ebx, 2
and edi, 0xfd
imul edi, ebx
xor edx, 0x1a
add edx, edi
add edx, esi
inc dl
mov esi, dword [ebp - 0x3c]
mov byte [esi + ecx], dl
mov edx, dword [ebp - 0x3c]
inc ecx
add eax, 2
cmp ecx, 0x43
jne 0x4233b0
mov ecx, 0xf
mov ebx, dword [ebp - 0x50]
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, ebx
add edi, 0x3c
mov ecx, 1
mov eax, dword [ebp - 0x38]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x34]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x44ce7c]
mov esi, dword [esi]
test esi, esi
jns 0x423467
mov eax, 0xffffffff
jmp 0x42346a
lea eax, [esi + esi]
push eax
call fcn.00408770
add esp, 4
mov edi, eax
push dword [ebp - 0x34]
push esi
push eax
push 0x1e
push ebx
push 0
call dword [0x44ce7c]
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x54]
push esi
mov dword [ebp - 0x30], edi
push edi
call fcn.0043f4c0
add esp, 0x14
not eax
shr eax, 0x1f
mov ebx, dword [ebp - 0x24]
jmp dword [eax*4 + 0x4470cc]
xor edx, edx
mov esi, dword [ebp - 0x18]
jmp dword [0x4471a4]
push dword [ebp - 0x30]
mov edi, edx
call fcn.00408780
add esp, 4
mov edx, edi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edi
jmp dword [ecx*4 + 0x4471ac]
push 0
mov edi, dword [ebp - 0x6c]
push edi
push dword [esi]
call fcn.0043f7d0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
jmp dword [eax*4 + 0x4470d4]
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.00408770
add esp, 4
push 0
push esi
mov dword [ebp - 0x2c], eax
push eax
mov esi, dword [ebp - 0x54]
push dword [esi]
call fcn.0043f890
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov edi, dword [ebp - 0x18]
jmp dword [eax*4 + 0x4470dc]
mov eax, dword [ebp - 0x6c]
mov esi, dword [eax]
mov edi, dword [ebp - 0x2c]
jmp dword [0x4470e4]
jmp dword [0x4470ac]
push dword [ebp - 0x2c]
call fcn.00408780
add esp, 4
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
xor edx, edx
cmp ecx, eax
sete dl
jmp dword [edx*4 + 0x4470c4]
mov dword [ebp - 0x10], 0
jmp dword [0x4471bc]
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x447114]
mov edx, dword [edi]
cmp dword [edi + 0x18], 3
mov esi, 0
jne case.default.0x4235a4
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 + 0x44712c]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x34], edi
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x4235e9
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [ebp - 0x50], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408770
add esp, 4
movsx edx, byte [esi]
xor ecx, ecx
test edx, edx
setne cl
mov dword [ebp - 0x38], eax
jmp dword [ecx*4 + 0x447134]
mov byte [eax], cl
inc eax
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
mov esi, edi
jmp dword [ecx*4 + 0x447134]
lea edi, [esi + 1]
mov ecx, edx
or ecx, 0x20
lea ebx, [ecx - 0x61]
cmp ebx, 5
ja case.default.0x423623
add ecx, 0xffffffa9
movsx edx, byte [edi]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x44713c]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x423640
mov ecx, 0xffffffff
jmp 0x42364c
mov ecx, edx
and ecx, 0xffffffcf
add ecx, ecx
xor edx, 0x30
sub ecx, edx
movsx edx, byte [edi]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x44713c]
mov edi, edx
or edi, 0x20
lea ebx, [edi - 0x61]
cmp ebx, 5
ja case.default.0x423682
add edi, 0xffffffa9
shl ecx, 4
or ecx, edi
add esi, 2
mov byte [eax], cl
inc eax
movsx edx, byte [esi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x447134]
lea edi, [edx - 0x30]
cmp edi, 0xa
jb 0x42369f
mov edi, 0xffffffff
jmp 0x4236ab
mov edi, edx
and edi, 0xffffffcf
add edi, edi
xor edx, 0x30
sub edi, edx
shl ecx, 4
or ecx, edi
add esi, 2
mov byte [eax], cl
inc eax
movsx edx, byte [esi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x447134]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [ebp - 0x20]
call fcn.004267b0
add esp, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x3c], edx
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
xor edi, edi
xor eax, eax
mov dword [ebp - 0x28], edx
cmp ecx, edx
setne al
jmp dword [eax*4 + 0x447144]
mov edi, dword [ecx]
xor eax, eax
jmp dword [eax*4 + 0x447154]
add ecx, 8
xor eax, eax
cmp ecx, dword [ebp - 0x28]
setne al
jmp dword [eax*4 + 0x447144]
mov esi, dword [ecx + 4]
mov eax, esi
shr eax, 0x1c
shl esi, 4
or esi, 1
xor eax, dword [ebp - 0x3c]
xor esi, dword [ebp - 0x20]
xor edx, edx
or esi, eax
sete dl
jmp dword [edx*4 + 0x44714c]
mov eax, 1
jmp dword [eax*4 + 0x447154]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44715c]
mov edi, dword [ebp - 0x34]
jmp dword [0x44716c]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x38]
mov dword [eax + 4], ecx
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4237cd
mov ecx, dword [ebp - 0x64]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov esi, dword [ebp - 0x4c]
mov dword [esi], 0
mov dword [esi + 4], 0
push 0x14e20a34
push dword [0x44ce8c]
call fcn.0043eaf0
add esp, 8
push esi
push 1
push 0
push 0
push dword [ebp - 0x64]
push 0
push dword [ebp - 0x68]
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447164]
mov edi, dword [ebp - 0x34]
jmp dword [0x44716c]
movzx eax, byte [edi]
test al, al
je 0x4237fd
inc edi
mov ecx, dword [ebp - 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x4237f0
jmp 0x423800
mov ecx, dword [ebp - 0x14]
mov byte [ecx], 0x3a
mov edi, ecx
mov byte [ecx + 1], 0x20
add edi, 2
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
test edx, edx
je 0x42384e
mov eax, dword [eax + 4]
mov ecx, edx
and ecx, 3
je 0x423852
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [edi + esi], bl
inc esi
cmp ecx, esi
jne 0x423830
add edi, esi
mov ecx, edx
sub ecx, esi
mov esi, edi
mov ebx, dword [ebp - 0x24]
jmp 0x423854
mov esi, edi
jmp 0x423899
mov ecx, edx
cmp edx, 4
jb 0x423899
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [edi + 4]
mov byte [edi + 3], dl
mov edi, esi
add ecx, 0xfffffffc
jne 0x423860
mov byte [esi], 0xa
push 0xbe5098bb
push dword [0x44ce74]
call fcn.0043eaf0
add esp, 8
inc esi
mov ecx, dword [ebp - 0x4c]
push dword [ecx + 4]
call eax
mov al, 1
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0x34]
jmp dword [0x44716c]
push dword [ebp - 0x38]
call fcn.00408780
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x447114]
jmp dword [0x447124]
add eax, 8
mov dword [ebp - 0x10], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
jmp dword [eax*4 + 0x447114]
mov eax, dword [ebp - 0x28]
mov dword [eax], 0xd914db01
mov dword [eax + 4], 0xdd7bdf74
mov dword [eax + 8], 0xd160d36d
mov dword [eax + 0xc], 0xd569d76a
mov dword [eax + 0x10], 0xa906ab6d
mov dword [eax + 0x14], 0xad1faf0d
mov dword [eax + 0x18], 0xa118a31e
mov dword [eax + 0x1c], 0xa51fa71f
mov dword [eax + 0x20], 0xb930bb56
mov dword [eax + 0x24], 0xbd04bf1c
mov dword [eax + 0x28], 0xb3bc
mov byte [eax + 0x2c], 0
xor eax, eax
mov ecx, 0xffffffff
mov edx, eax
and edx, 0x2d
mov edi, eax
and edi, 2
mov esi, edi
xor esi, 2
imul esi, edx
or edx, 2
imul edx, edi
mov ebx, eax
or ebx, 0xc24c7cd0
mov edi, ecx
or edi, 0x2f
and edi, ebx
not edi
add edi, esi
mov esi, dword [ebp - 0x28]
add edi, edx
movzx edx, byte [esi + eax]
xor edi, edx
mov edx, edi
and edx, 0x14
xor edi, 0x14
lea edx, [edi + edx*2]
inc dl
mov byte [esi + eax], dl
inc eax
dec ecx
cmp eax, 0x2d
jne case.default.0x4239e8
push 0
push esi
mov edi, dword [ebp - 0x2c]
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x30]
push 0x60
push 3
push 0x120089
push esi
push edi
call fcn.0043f4c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44703c]
push 0
mov edi, dword [ebp - 0x18]
push edi
push dword [esi]
call fcn.0043f7d0
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447044]
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.00408770
add esp, 4
push 0
push esi
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x5c], eax
push eax
push dword [esi]
call fcn.0043f890
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44704c]
mov ebx, dword [ebp - 0x5c]
jmp dword [0x447054]
mov eax, dword [case.0x423084.79]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
jmp eax
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0x10], 0
mov ebx, dword [ebp - 0x24]
jmp dword [ecx*4 + 0x447024]
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423a90
cmp ecx, 0xffffffd9
mov esi, dword [ebp - 0x20]
jge 0x423aad
mov dword [ebp - 0x10], eax
mov ecx, 0xffffffff
jmp 0x423ab3
mov dword [ebp - 0x10], eax
add ecx, 0x26
push ecx
call fcn.00408770
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [esi], 0xc16bc760
mov dword [esi + 4], 0xcd54c351
mov dword [esi + 8], 0xc965cf62
mov dword [esi + 0xc], 0xb56ecb61
mov dword [esi + 0x10], 0xb127b719
mov dword [esi + 0x14], 0xbd1cb326
mov dword [esi + 0x18], 0xb917bf17
mov dword [esi + 0x1c], 0xa524bb6e
mov dword [esi + 0x20], 0xa108a708
mov word [esi + 0x24], 0xa3a0
mov dword [esi + 0x26], 0
mov eax, 0xde628731
mov ecx, 0x9d78ce
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + eax + 0x219d78cf]
mov esi, edx
and esi, 0xffffff81
or esi, 0x89402676
and edx, 0x7e
xor edx, esi
mov edi, ecx
and edi, 0x995881
mov esi, eax
and esi, 0x8840877e
or esi, edi
mov edi, edx
xor edi, 0xdffb7ef7
xor edx, 0x8108
or edi, esi
not esi
or esi, edx
and esi, edi
mov edx, esi
and edx, 1
xor esi, 1
lea edx, [esi + edx*2]
mov esi, dword [ebp - 0x20]
add dl, 0xa
mov byte [esi + eax + 0x219d78cf], dl
inc eax
dec ecx
cmp eax, 0xde62875b
jne 0x423b20
mov eax, dword [ebp - 0x10]
movzx edx, word [eax]
mov edi, dword [ebp - 0x2c]
mov ecx, edi
test dx, dx
je 0x423bb1
mov esi, eax
add esi, 2
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x423ba0
mov word [ecx], 0
mov esi, dword [ebp - 0x20]
movzx edx, word [esi]
test dx, dx
je 0x423be1
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x423bd0
mov word [ecx], 0
jmp dword [0x44702c]
push eax
call fcn.00408780
add esp, 4
xor eax, eax
cmp word [edi], 0x2a
sete al
mov esi, dword [ebp - 0x30]
jmp dword [eax*4 + 0x447034]
xor eax, eax
cmp word [edi], 0x2a
sete al
mov esi, dword [ebp - 0x30]
jmp dword [eax*4 + 0x447034]
push dword [ebp - 0x18]
mov esi, eax
call fcn.00408780
add esp, 4
mov eax, esi
and al, 1
mov dword [ebp - 0x10], eax
jmp dword [0x4471bc]
jmp dword [0x4471b4]
mov dword [ebp - 0x58], edi
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xdde8d6f9
mov dword [eax + 4], 0xe2d0e0d9
mov dword [eax + 8], 0xddedf11d
mov dword [eax + 0xc], 0x81be4d6
mov dword [eax + 0x10], 0x26151828
mov dword [eax + 0x14], 0x101ff0e1
mov dword [eax + 0x18], 0x2528202d
mov word [eax + 0x1c], 0xbb25
mov dword [eax + 0x1e], 0
mov byte [eax + 0x22], 0
xor ecx, ecx
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
or edx, 0x77915ff1
add edx, ecx
inc edx
mov esi, edx
and esi, 0xfd
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, esi
mov ebx, ecx
xor ebx, 0xf1
add ebx, edx
mov edx, dword [ebp - 0x14]
add ebx, edi
xor bl, byte [edx + ecx]
add bl, 0x4b
mov byte [edx + ecx], bl
inc ecx
dec eax
cmp ecx, 0x23
jne case.default.0x423ce8
mov edi, dword [ebp - 0x58]
mov ecx, edi
push edx
call fcn.00426590
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [ebp - 0x24]
jmp dword [ecx*4 + 0x44706c]
add eax, 8
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x447074]
mov dword [ebx + 4], edi
mov dword [ebx], esi
mov dword [ebx + 8], edx
mov eax, dword [case.0x4239e8.9]
mov edi, dword [ebp - 0x58]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x18]
mov dword [esi + eax + 4], ecx
mov edi, dword [ebp - 0x60]
add edi, 8
mov ecx, dword [ebp - 0x70]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edx, dword [ebp - 0x14]
jmp dword [eax*4 + 0x447074]
mov dword [ebp - 0x70], ecx
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
mov ecx, edi
sub ecx, esi
cmp edi, edx
mov dword [ebp - 0x28], ecx
je 0x423d76
mov dword [ebp - 0x60], edi
mov eax, esi
jmp 0x423dff
mov dword [ebp - 0x14], edx
mov eax, edx
sub eax, esi
sar eax, 3
mov edi, eax
shr edi, 1
add edi, eax
mov eax, ecx
sar eax, 3
inc eax
cmp edi, eax
ja 0x423d92
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.00408770
add esp, 4
test esi, esi
je 0x423df0
mov dword [ebp - 0x10], edi
mov edx, dword [ebp - 0x14]
cmp esi, edx
mov edi, eax
je 0x423de2
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [edi + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [edi + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x423dc0
push esi
call fcn.00408780
add esp, 4
mov eax, edi
mov edi, dword [ebp - 0x10]
lea edx, [eax + edi*8]
mov ecx, eax
mov esi, dword [ebp - 0x28]
add ecx, esi
mov dword [ebp - 0x60], ecx
mov ecx, esi
mov dword [ebp - 0x14], edx
mov dword [eax + ecx], 0
mov dword [ebp - 0x18], eax
mov dword [eax + ecx + 4], 0
xor edi, edi
mov esi, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
cmp byte [esi + edi], 0
lea edi, [edi + 1]
jne 0x423e20
push edi
call fcn.00408770
add esp, 4
mov edx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
mov dword [eax + ecx], edx
mov ecx, edi
shr ecx, 2
mov eax, esi
mov dword [ebp - 0x10], edi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edx, dword [ebp - 0x10]
and edx, 0xfffffffc
mov edi, dword [ebp - 0x20]
add edi, edx
add edx, esi
mov eax, dword [ebp - 0x10]
and eax, 3
mov ecx, eax
shr ecx, 1
mov esi, edx
mov dword [ebp - 0x20], edi
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov esi, dword [ebp - 0x10]
mov ecx, eax
xor ecx, 0xfffffffe
or eax, 1
and eax, ecx
je 0x423e9b
mov ecx, esi
and ecx, 2
add edx, ecx
mov edi, dword [ebp - 0x20]
add edi, ecx
push eax
push edx
push edi
call fcn.004087a0
add esp, 0xc
xor ecx, ecx
cmp esi, 1
je 0x423d30
mov ecx, 0xffffffff
mov eax, 1
mov edx, dword [ebp - 0x1c]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov esi, edx
shr esi, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, esi
mov esi, edi
shl esi, 0x1d
sar esi, 0x1f
and esi, 0x76dc419
mov ebx, edi
shl ebx, 0x1c
sar ebx, 0x1f
and ebx, 0xedb8832
xor ebx, esi
mov esi, edi
shl esi, 0x1b
sar esi, 0x1f
and esi, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, esi
xor edi, ebx
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp dword [ebp - 0x10], eax
jne 0x423eb0
not ecx
mov ebx, dword [ebp - 0x24]
jmp 0x423d30
mov esi, dword [ebp - 0x74]
mov dword [esi], 0x6b7c7a17
mov dword [esi + 4], 0x7e6c746f
mov dword [esi + 8], 0x6b7f0b23
mov dword [esi + 0xc], 0x4297066
mov dword [esi + 0x10], 0x12077464
mov dword [esi + 0x14], 0x11116a57
mov dword [esi + 0x18], 0x13010c12
mov dword [esi + 0x1c], 0x3050c63
mov dword [esi + 0x20], 0xa905
mov eax, 0xafb9842e
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x50467bd2]
xor ecx, eax
add ecx, 0x91606b19
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esi + eax + 0x50467bd2], cl
inc eax
cmp eax, 0xafb98452
jne 0x423fa0
mov ecx, dword [ebp - 0x1c]
push esi
call fcn.00426590
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
jmp dword [ecx*4 + 0x44710c]
mov eax, dword [esi]
mov dword [ebp - 0x44], 0x3c3d3a3b
mov word [ebp - 0x40], 0
mov byte [ebp - 0x3e], 0
mov ecx, 0x1dfd414a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x1dfd418e]
xor esi, ecx
mov edx, esi
and edx, 0xd
add edx, edx
xor esi, 0x72
sub edx, esi
mov byte [ebp + ecx - 0x1dfd418e], dl
inc ecx
cmp ecx, 0x1dfd4151
jne 0x424010
mov ecx, dword [0x44ce80]
test ecx, ecx
je 0x424068
mov edx, dword [ebp - 0x44]
xor esi, esi
mov edi, dword [0x44ce84]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x424060
inc esi
cmp ecx, esi
jne 0x424050
jmp 0x424068
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x424084
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
jmp dword [0x4471a4]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x4471ac]
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
mov esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
jmp dword [0x4471a4]
mov ecx, eax
mov dword [ebp - 0x1c], eax
jmp dword [0x4470f8]
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
mov byte [ebx + esi], 0
push 0x20
call fcn.00408770
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 ebx
call fcn.00426350
mov eax, dword [ebp - 0x18]
mov esi, dword [eax]
mov byte [ebx + esi], 0
push 0x20
call fcn.00408770
add esp, 4
mov edi, 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 ebx
call fcn.00426350
jmp dword [0x447060]
movzx eax, al
mov ebx, dword [ebp - 0x24]
jmp dword [eax*4 + 0x447064]
mov esi, dword [ebp - 0x30]
jmp dword [0x44708c]
jmp dword [0x447098]
mov esi, dword [ebp - 0x54]
jmp dword [0x447184]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edx
mov edi, ecx
call fcn.00426710
push edi
call fcn.00408780
add esp, 4
mov edi, dword [ebp - 0x2c]
jmp dword [0x44718c]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edx
mov edi, dword [ebp - 0x2c]
jmp dword [0x44718c]
jmp dword [0x447194]
push edi
call fcn.00408780
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call fcn.00408780
add esp, 4
jmp dword [0x44719c]
mov esi, dword [ebx]
test esi, esi
je case.0x423084.125
mov edi, dword [ebx + 4]
cmp esi, edi
je case.0x423084.125
mov ebx, esi
jmp 0x4241d7
add ebx, 8
cmp ebx, edi
je 0x4241e8
mov eax, dword [ebx]
test eax, eax
je 0x4241d0
push eax
call fcn.00408780
add esp, 4
jmp 0x4241d0
push esi
call fcn.00408780
add esp, 4
mov ebx, dword [ebp - 0x24]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov esi, dword [ebx]
test esi, esi
je 0x424258
mov edi, dword [ebx + 4]
cmp esi, edi
je 0x424258
mov ebx, esi
jmp 0x424227
add ebx, 8
cmp ebx, edi
je 0x424238
mov eax, dword [ebx]
test eax, eax
je 0x424220
push eax
call fcn.00408780
add esp, 4
jmp 0x424220
push esi
call fcn.00408780
add esp, 4
mov ebx, dword [ebp - 0x24]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
jmp dword [0x4471c4]
mov eax, dword [ebp - 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
sub esp, 0x18
mov eax, esp
sub esp, 0x54
mov ebx, esp
mov dword [eax], 0x29982beb
mov dword [eax + 4], 0x2d9a2f9d
mov dword [eax + 8], 0x319e338b
mov dword [eax + 0xc], 0x35e6379c
mov dword [eax + 0x10], 0x398e3b93
mov dword [eax + 0x14], 0x3d3e3f90
mov dword [eax + 0x18], 0
xor edx, edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ebx
nop
nop
nop
nop
movzx ecx, byte [eax + edx]
mov esi, 0xd52a7638
sub esi, edx
or esi, ecx
mov edi, 0x38
sub edi, edx
and edi, ecx
not esi
or esi, edi
mov ecx, esi
xor ecx, 0xe3
or esi, 0x1c
and ecx, esi
add ecx, esi
inc cl
mov byte [eax + edx], cl
mov ecx, edx
and ecx, 1
xor edx, 1
lea edx, [edx + ecx*2]
cmp edx, 0x1c
jb 0x4242b0
mov dword [ebx], 0x99449b78
mov dword [ebx + 4], 0xa56fa753
mov dword [ebx + 8], 0xa17fa373
mov dword [ebx + 0xc], 0xad70af7c
mov dword [ebx + 0x10], 0xa94eab4b
mov dword [ebx + 0x14], 0xb579b77b
mov dword [ebx + 0x18], 0xb17ab379
mov dword [ebx + 0x1c], 0xbd6cbf67
mov dword [ebx + 0x20], 0xb95ebb77
mov dword [ebx + 0x24], 0x45974765
mov dword [ebx + 0x28], 0x419e438e
mov dword [ebx + 0x2c], 0x4d814f99
mov dword [ebx + 0x30], 0x49814b92
mov dword [ebx + 0x34], 0x558c57ac
mov dword [ebx + 0x38], 0x51a653bb
mov dword [ebx + 0x3c], 0x5db55faa
mov dword [ebx + 0x40], 0x59875bb8
mov dword [ebx + 0x44], 0x658d67a4
mov dword [ebx + 0x48], 0x6191638b
mov word [ebx + 0x4c], 0x6f60
mov dword [ebx + 0x4e], 0
mov edx, 0xcbbc24
mov esi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi]
mov edi, edx
or edi, ecx
lea ebx, [edx - 0xcbbc00]
and ebx, ecx
not edi
or edi, ebx
lea ecx, [edi + 0x3faacb8]
mov eax, 0xfc055347
sub eax, edi
mov ebx, eax
and eax, 0xacb6c0af
and ecx, 0x53493f50
or ecx, eax
and edi, 1
not ebx
and ebx, 1
or ebx, ecx
mov eax, ebx
and eax, edi
or ebx, edi
xor ebx, 0xae
add ebx, eax
mov byte [esi], bl
inc esi
dec edx
cmp edx, 0xcbbbd2
jne 0x424390
push dword [ebp - 0x10]
push dword [ebp - 0x1c]
call fcn.00436b80
add esp, 8
push eax
sub esp, 0x18
mov esi, esp
sub esp, 0x54
mov dword [ebp - 0x1c], esp
sub esp, 0xc
mov dword [ebp - 0x24], esp
sub esp, 0x2c
mov dword [ebp - 0x20], esp
sub esp, 0x30
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x30], esp
push eax
mov dword [ebp - 0x18], esp
sub esp, 0x24
mov dword [ebp - 0x14], esp
sub esp, 0x40
mov dword [ebp - 0x50], esp
sub esp, 0x44
mov eax, esp
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
push eax
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x54], esp
push eax
mov dword [ebp - 0x6c], esp
sub esp, 0x24
mov dword [ebp - 0x74], esp
sub esp, 8
mov dword [ebp - 0x68], esp
sub esp, 8
mov dword [ebp - 0x64], esp
sub esp, 8
mov dword [ebp - 0x4c], esp
sub esp, 0x20
mov eax, esp
mov dword [esi], 0x29982beb
mov dword [esi + 4], 0x2d9a2f9d
mov dword [esi + 8], 0x319e338b
mov dword [esi + 0xc], 0x35e6379c
mov dword [esi + 0x10], 0x398e3b93
mov dword [esi + 0x14], 0x3d3e3f90
mov dword [esi + 0x18], 0
xor ecx, ecx
mov dword [ebp - 0x10], esi
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
movzx esi, byte [edx + ecx]
mov edx, 0xd52a7638
sub edx, ecx
or edx, esi
mov edi, 0x38
sub edi, ecx
and edi, esi
mov esi, dword [ebp - 0x10]
not edx
or edx, edi
mov ebx, edx
xor ebx, 0xe3
or edx, 0x1c
and ebx, edx
add ebx, edx
inc bl
mov byte [esi + ecx], bl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0x1c
jb 0x424490
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], 0x99449b78
mov dword [ecx + 4], 0xa56fa753
mov dword [ecx + 8], 0xa17fa373
mov dword [ecx + 0xc], 0xad70af7c
mov dword [ecx + 0x10], 0xa94eab4b
mov dword [ecx + 0x14], 0xb579b77b
mov dword [ecx + 0x18], 0xb17ab379
mov dword [ecx + 0x1c], 0xbd6cbf67
mov dword [ecx + 0x20], 0xb95ebb77
mov dword [ecx + 0x24], 0x45974765
mov dword [ecx + 0x28], 0x419e438e
mov dword [ecx + 0x2c], 0x4d814f99
mov dword [ecx + 0x30], 0x49814b92
mov dword [ecx + 0x34], 0x558c57ac
mov dword [ecx + 0x38], 0x51a653bb
mov dword [ecx + 0x3c], 0x5db55faa
mov dword [ecx + 0x40], 0x59875bb8
mov dword [ecx + 0x44], 0x658d67a4
mov dword [ecx + 0x48], 0x6191638b
mov word [ecx + 0x4c], 0x6f60
mov dword [ecx + 0x4e], 0
mov esi, 0xcbbc24
movzx edi, byte [ecx]
mov edx, esi
or edx, edi
lea ebx, [esi - 0xcbbc00]
and ebx, edi
not edx
or edx, ebx
lea edi, [edx + 0x3faacb8]
mov eax, 0xfc055347
sub eax, edx
mov ebx, eax
and eax, 0xacb6c0af
and edi, 0x53493f50
or edi, eax
and edx, 1
not ebx
and ebx, 1
or ebx, edi
mov eax, ebx
and eax, edx
or ebx, edx
xor ebx, 0xae
add ebx, eax
mov byte [ecx], bl
inc ecx
dec esi
cmp esi, 0xcbbbd2
jne 0x424570
push dword [ebp - 0x10]
push dword [ebp - 0x1c]
call fcn.00436b80
add esp, 8
jmp dword [0x44701c]
jmp dword [0x4470a4]
mov byte [edi + esi], 0
mov byte [edi + esi], 0
push 0x20
call fcn.00408770
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
jmp dword [0x4470f0]
mov ecx, edi
call fcn.00426710
push edi
call fcn.00408780
add esp, 4
mov ecx, edi
call fcn.00426710
push edi
call fcn.00408780
add esp, 4
jmp dword [0x4470a0]
movzx eax, al
xor edx, edx
mov edi, dword [ebp - 0x18]
jmp dword [eax*4 + 0x447104]
push esi
push edi
call fcn.00426350
mov ecx, dword [ebp - 0x1c]
push esi
push edi
call fcn.00426350
mov ecx, dword [ebp - 0x1c]
jmp dword [0x447100]
int3
push eax
sub esp, 8
mov dword [ebp - 0x8c], esp
sub esp, 0x20
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x4c], esp
push eax
mov dword [ebp - 0x64], esp
sub esp, 0x1c
mov dword [ebp - 0x58], esp
sub esp, 8
mov dword [ebp - 0x94], esp
sub esp, 8
mov dword [ebp - 0x50], esp
sub esp, 0x14
mov dword [ebp - 0x6c], esp
sub esp, 0x34
mov dword [ebp - 0x5c], esp
sub esp, 0x18
mov dword [ebp - 0x60], esp
sub esp, 8
mov dword [ebp - 0x80], esp
jmp dword [0x4471cc]
mov dword [ebp - 0x84], edi
jmp dword [0x447230]
push dword [ebp - 0x74]
call fcn.00401ac0
add esp, 4
mov edx, dword [ebp - 0x58]
mov dword [edx], 0xb4afbabd
mov dword [edx + 4], 0xa1a2a8a2
mov dword [edx + 8], 0xbcb8b0fa
mov dword [edx + 0xc], 0xa9aaa0aa
mov dword [edx + 0x10], 0x8cbfbbbb
mov word [edx + 0x14], 0x9887
mov byte [edx + 0x16], 0xe2
mov dword [edx + 0x17], 0
mov ecx, 0x32
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [edx]
lea esi, [ecx - 0x79b2e700]
or esi, edi
and edi, ecx
not esi
or esi, edi
mov edi, esi
and edi, 0x7e
xor esi, 0xfe
lea ebx, [esi + edi*2]
inc bl
mov byte [edx], bl
inc edx
dec ecx
cmp ecx, 0x17
jne 0x424720
push dword [ebp - 0x58]
push eax
call fcn.00401e80
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x424760
shr edx, 2
mov esi, ecx
mov dword [ebp - 0x10], ecx
movzx ecx, byte [eax + ecx - 1]
cmp ecx, 0x3d
je 0x424784
cmp ecx, 0x2e
jne 0x424785
dec edx
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx - 2]
cmp ecx, 0x3d
mov dword [ebp - 0x40], eax
je 0x42479a
cmp ecx, 0x2e
jne 0x42479b
dec edx
mov dword [ebp - 0x7c], edx
lea eax, [edx - 1]
push eax
call fcn.00408770
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x10], 0
je 0x424893
xor edi, edi
mov esi, 2
jmp 0x4247d3
mov ecx, dword [ebp - 0x10]
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x424893
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x40]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00419d50
add esp, 4
mov bh, al
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00419d50
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov byte [ecx + edx], al
mov eax, edx
mov ecx, edx
and eax, 1
xor ecx, 1
lea edi, [ecx + eax*2]
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae 0x4247c3
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + esi]
push eax
call fcn.00419d50
add esp, 4
cmp al, 0x40
je 0x4247c0
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, edi
inc edi
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ebx
mov byte [edx + ebx], cl
lea ecx, [esi + 1]
mov edx, dword [ebp - 0x10]
cmp ecx, edx
jae 0x42488c
mov ebx, eax
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00419d50
mov ecx, dword [ebp - 0x10]
add esp, 4
cmp al, 0x40
je 0x4247c3
shl bl, 6
add al, bl
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov byte [edx + edi + 1], al
add edi, 2
jmp 0x4247c3
mov ecx, edx
jmp 0x4247c3
mov ecx, 0xcccccccd
mov edi, dword [ebp - 0x7c]
mov eax, edi
mul ecx
shr edx, 2
lea eax, [edx + edx*4]
sub edi, eax
mov esi, dword [ebp - 0x94]
mov dword [esi], edi
mov eax, dword [ebp - 0x18]
add eax, 5
mov dword [esi + 4], eax
mov edi, dword [ebp - 0x50]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x14e20a34
push dword [0x44ce8c]
call fcn.0043eaf0
add esp, 8
push edi
push 0
push 0
push 0
push 0
push 0
push esi
call eax
jmp case.0x42590f.17
mov eax, dword [ebp - 0x7c]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x94]
mov dword [esi], eax
mov eax, dword [ebp - 0x18]
add eax, 5
mov dword [esi + 4], eax
mov edi, dword [ebp - 0x50]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x14e20a34
push dword [0x44ce8c]
call fcn.0043eaf0
add esp, 8
push edi
push 0
push 0
push 0
push 0
push 0
push esi
call eax
jmp dword [0x447238]
push dword [ebp - 0x74]
call fcn.00401ac0
add esp, 4
mov edx, dword [ebp - 0x58]
mov dword [edx], 0xb4afbabd
mov dword [edx + 4], 0xa1a2a8a2
mov dword [edx + 8], 0xbcb8b0fa
mov dword [edx + 0xc], 0xa9aaa0aa
mov dword [edx + 0x10], 0x8cbfbbbb
mov word [edx + 0x14], 0x9887
mov byte [edx + 0x16], 0xe2
mov dword [edx + 0x17], 0
mov ecx, 0x32
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [edx]
lea esi, [ecx - 0x79b2e700]
or esi, edi
and edi, ecx
not esi
or esi, edi
mov edi, esi
and edi, 0x7e
xor esi, 0xfe
lea ebx, [esi + edi*2]
inc bl
mov byte [edx], bl
inc edx
dec ecx
cmp ecx, 0x17
jne 0x424990
push dword [ebp - 0x58]
push eax
call fcn.00401e80
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x4249d0
shr edx, 2
mov esi, ecx
mov dword [ebp - 0x10], ecx
movzx ecx, byte [eax + ecx - 1]
cmp ecx, 0x3d
je 0x4249f4
cmp ecx, 0x2e
jne 0x4249f5
dec edx
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx - 2]
cmp ecx, 0x3d
mov dword [ebp - 0x40], eax
je 0x424a0a
cmp ecx, 0x2e
jne 0x424a0b
dec edx
mov dword [ebp - 0x7c], edx
lea eax, [edx + 1]
push eax
call fcn.00408770
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x10], 0
je 0x4248f0
xor edi, edi
mov esi, 2
jmp 0x424a43
mov ecx, dword [ebp - 0x10]
lea eax, [esi + 4]
add esi, 2
cmp esi, ecx
mov esi, eax
jae 0x4248f0
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x40]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00419d50
add esp, 4
mov bh, al
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00419d50
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov byte [ecx + edx], al
mov eax, edx
mov ecx, edx
and eax, 1
xor ecx, 1
lea edi, [ecx + eax*2]
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
jae 0x424a33
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + esi]
push eax
call fcn.00419d50
add esp, 4
cmp al, 0x40
je 0x424a30
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, edi
inc edi
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], ebx
mov byte [edx + ebx], cl
lea ecx, [esi + 1]
mov edx, dword [ebp - 0x10]
cmp ecx, edx
jae 0x424aff
mov ebx, eax
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00419d50
mov ecx, dword [ebp - 0x10]
add esp, 4
cmp al, 0x40
je 0x424a33
shl bl, 6
add al, bl
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov byte [ecx + edi + 1], al
mov ecx, dword [ebp - 0x10]
add edi, 2
jmp 0x424a33
mov ecx, edx
jmp 0x424a33
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44723c]
xor ebx, ebx
mov edi, dword [ebp - 0x84]
jmp dword [0x44725c]
mov eax, dword [ebp - 0x90]
add eax, 0x10
mov edi, 0xffffffff
cmp dword [ebp - 0x70], 0xfffffff8
mov esi, dword [ebp - 0x6c]
jge 0x424b3e
mov eax, 0xffffffff
push eax
call fcn.00408770
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [esi], 0x9760b3d
mov dword [esi + 4], 0x5340778
mov dword [esi + 8], 0x18a0388
mov dword [esi + 0xc], 0x1d1e1f8c
mov byte [esi + 0x10], 0
xor eax, eax
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax]
mov edx, edi
or edx, 0xebefa83
add edx, eax
mov ebx, eax
xor ebx, 0xebefa83
lea ebx, [ebx + edx*2]
add ebx, 2
mov esi, ebx
and esi, ecx
add esi, esi
mov edx, esi
xor edx, ebx
not ebx
and ebx, esi
add ebx, ebx
sub edx, ebx
mov esi, dword [ebp - 0x6c]
add edx, ecx
mov ecx, edx
and ecx, 0x70
xor edx, 0x70
lea ecx, [edx + ecx*2]
inc cl
mov byte [esi + eax], cl
inc eax
dec edi
cmp eax, 0x11
jne 0x424b70
mov eax, dword [ebp - 0x48]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x14]
test cx, cx
je 0x424bf1
mov eax, dword [ebp - 0x48]
lea edx, [eax + 2]
mov eax, dword [ebp - 0x14]
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 0x424be0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
mov edi, dword [ebp - 0x84]
je 0x424c23
mov edx, dword [ebp - 0x98]
mov esi, dword [ebp - 0x14]
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424c10
jmp 0x424c26
mov esi, dword [ebp - 0x14]
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x50]
push dword [eax]
push dword [eax + 4]
push esi
call fcn.00409550
mov ebx, eax
jmp dword [0x447244]
jmp dword [0x447250]
push esi
call fcn.00408780
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00408780
add esp, 4
jmp dword [0x447254]
push 0xbe5098bb
push dword [0x44ce74]
call fcn.0043eaf0
add esp, 8
mov ecx, dword [ebp - 0x50]
push dword [ecx + 4]
call eax
jmp dword [0x44725c]
push dword [ebp - 0x18]
call fcn.00408780
add esp, 4
push dword [ebp - 0x74]
call fcn.00402070
add esp, 4
jmp dword [0x447264]
jmp dword [0x44726c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x38], 0x3c3d3a3b
mov ecx, dword [ebp - 0x9c]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x1dfd414a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x1dfd4182]
xor esi, ecx
mov edx, esi
and edx, 0xd
add edx, edx
xor esi, 0x72
sub edx, esi
mov byte [ebp + ecx - 0x1dfd4182], dl
inc ecx
cmp ecx, 0x1dfd4151
jne 0x424ce0
mov ecx, dword [0x44ce80]
test ecx, ecx
je case.0x4223ca.210
mov edx, dword [ebp - 0x38]
xor esi, esi
mov edi, dword [0x44ce84]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x424d30
inc esi
cmp ecx, esi
jne 0x424d20
jmp case.0x4223ca.210
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x4223ca.210
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
jmp case.0x4223ca.210
jmp dword [0x447278]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x38], 0x3c3d3a3b
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x1dfd414a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x1dfd4182]
xor esi, ecx
mov edx, esi
and edx, 0xd
add edx, edx
xor esi, 0x72
sub edx, esi
mov byte [ebp + ecx - 0x1dfd4182], dl
inc ecx
cmp ecx, 0x1dfd4151
jne 0x424d80
mov ecx, dword [0x44ce80]
test ecx, ecx
je 0x424d50
mov edx, dword [ebp - 0x38]
xor esi, esi
mov edi, dword [0x44ce84]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x424dd0
inc esi
cmp ecx, esi
jne 0x424dc0
jmp 0x424d50
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x424d50
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
jmp dword [0x447278]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [eax + ecx]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x424e20
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x90], eax
mov edx, eax
sar edx, 1
mov eax, dword [ebp - 0x44]
lea ecx, [edx + eax]
mov dword [ebp - 0x70], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x424e56
mov eax, 0xffffffff
push eax
call fcn.00408770
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax]
mov dword [ebp - 0x78], edx
mov eax, edx
test cx, cx
je 0x424e91
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x78]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x424e80
mov word [eax], 0x5c
mov dword [ebx], 0x895e8b28
mov dword [ebx + 4], 0x853b8739
mov dword [ebx + 8], 0x8136833b
mov dword [ebx + 0xc], 0x9d339f60
mov dword [ebx + 0x10], 0x99259b10
mov dword [ebx + 0x14], 0x952d9714
mov word [ebx + 0x18], 0x9394
mov ecx, dword [ebp - 0xb0]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0xb2073b71
mov edx, 0x4df8c48e
nop
mov esi, edx
and esi, 0x4d48448e
mov edi, ecx
and edi, 0x90003171
sub edi, esi
movzx esi, byte [ebx + ecx + 0x4df8c48f]
xor edi, esi
mov esi, edi
and esi, 0x10
xor edi, 0x90
lea ebx, [edi + esi*2]
inc bl
mov esi, dword [ebp - 0x3c]
mov byte [esi + ecx + 0x4df8c48f], bl
mov ebx, dword [ebp - 0x3c]
inc ecx
dec edx
cmp ecx, 0xb2073b90
jne 0x424ee0
add eax, 2
mov edx, dword [ebp - 0x48]
movzx ecx, word [edx]
test cx, cx
je 0x424f51
add edx, 2
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 0x424f40
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424f81
mov edx, dword [ebp - 0xac]
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 0x424f70
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x4c]
push dword [ebp - 0x78]
call fcn.0043f4c0
add esp, 0x14
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44720c]
mov eax, dword [case.0x4223ca.217]
jmp eax
movzx esi, bl
jmp dword [0x44728c]
push dword [ebp - 0x78]
call fcn.00408780
add esp, 4
mov ebx, dword [ebp - 0x3c]
jmp dword [esi*4 + 0x447294]
push 0
push dword [ebp - 0x64]
mov eax, dword [ebp - 0x4c]
push dword [eax]
call fcn.0043f7d0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447214]
mov eax, dword [ebp - 0x64]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.00408770
add esp, 4
mov edi, eax
push 0
push esi
push eax
mov eax, dword [ebp - 0x4c]
push dword [eax]
call fcn.0043f890
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44721c]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov byte [edi + eax], 0
push edi
call fcn.00401000
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x74], eax
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x447224]
jmp dword [0x447264]
push edi
call fcn.00408780
add esp, 4
jmp dword [0x44726c]
mov ebx, dword [ebp - 0x3c]
jmp dword [esi*4 + 0x447294]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x70]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x425088
mov eax, 0xffffffff
push eax
call fcn.00408770
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
mov ebx, dword [ebp - 0x5c]
je 0x4250c1
mov edx, dword [ebp - 0x88]
mov eax, esi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4250b0
mov dword [ebp - 0x14], esi
mov word [eax], 0x5c
mov dword [ebx], 0x73a671d4
mov dword [ebx + 4], 0x7fdd7dcb
mov dword [ebx + 8], 0x7bce79d9
mov dword [ebx + 0xc], 0x479545a4
mov dword [ebx + 0x10], 0x43f541fc
mov dword [ebx + 0x14], 0x4fef4dfe
mov dword [ebx + 0x18], 0x4be749e7
mov dword [ebx + 0x1c], 0x57e255f0
mov dword [ebx + 0x20], 0x53ec51fd
mov dword [ebx + 0x24], 0x5fea5df1
mov dword [ebx + 0x28], 0x5bf859f4
mov word [ebx + 0x2c], 0x2524
mov dword [ebx + 0x2e], 0
xor edx, edx
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebx + edx]
lea ebx, [edx + 0x47930794]
and ebx, edi
add edi, edx
add edi, 0x47930794
add ebx, ebx
sub edi, ebx
lea ebx, [edi + edi]
and ebx, 0x401b436
xor edi, 0x9a20da1b
mov esi, ebx
and esi, edi
xor edi, ebx
lea ebx, [edi + esi*2]
inc bl
mov esi, dword [ebp - 0x5c]
mov byte [esi + edx], bl
mov ebx, dword [ebp - 0x5c]
mov edi, edx
mov esi, edx
xor esi, 0xfffffffe
or edi, 1
and edi, esi
xor ecx, 1
add ecx, edx
and edx, 0x3e
sub ecx, edx
add ecx, edi
mov edx, ecx
cmp ecx, 0x32
jb 0x425130
add eax, 2
mov edx, dword [ebp - 0x48]
movzx ecx, word [edx]
test cx, cx
je 0x4251b1
add edx, 2
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4251a0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x4251e3
mov edx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x60]
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 0x4251d0
jmp 0x4251e6
mov edi, dword [ebp - 0x60]
mov word [eax], 0
mov eax, dword [ebp - 0x90]
add eax, 0x12
cmp dword [ebp - 0x70], 0xfffffff7
jge 0x4251ff
mov eax, 0xffffffff
push eax
call fcn.00408770
add esp, 4
mov dword [edi], 0x33c63107
mov dword [edi + 4], 0x3fc03dd1
mov dword [edi + 8], 0x3bce39d5
mov dword [edi + 0xc], 0xc724c528
mov word [edi + 0x10], 0xc1c0
mov ecx, dword [ebp - 0xa8]
mov dword [ecx], 0
mov byte [ecx + 4], 0
mov ebx, 0x74
mov ecx, 0x8b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [edi + ebx - 0x74]
mov edx, ecx
xor edx, ebx
and edx, esi
xor edx, ebx
add dl, 0xbc
mov byte [edi + ebx - 0x74], dl
inc ebx
dec ecx
cmp ecx, 0x74
jne 0x425250
mov edx, dword [ebp - 0x48]
movzx ecx, word [edx]
mov esi, eax
test cx, cx
je 0x425291
add edx, 2
mov esi, eax
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425280
mov word [esi], 0
movzx ecx, word [edi]
test cx, cx
mov dword [ebp - 0x10], eax
je 0x4252c1
mov edx, dword [ebp - 0xa0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4252b0
mov word [esi], 0
mov eax, dword [ebp - 0x80]
mov dword [eax], 0x333231ea
mov byte [eax + 4], 0
xor edi, edi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax + ecx]
mov eax, edi
and eax, 8
mov ebx, ecx
xor ebx, 0xce73d04c
add ebx, eax
mov esi, edx
and esi, ebx
add esi, esi
mov eax, esi
not eax
and eax, ebx
not ebx
and ebx, esi
sub eax, ebx
add al, dl
add al, 0x84
mov edx, dword [ebp - 0x80]
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x80]
inc ecx
add edi, 2
cmp ecx, 5
jne 0x4252e0
push 0
push 0
push 0xc00000
push eax
mov esi, dword [ebp - 0x14]
push esi
mov edi, dword [ebp - 0x10]
push edi
push dword [ebp + 8]
call fcn.0041d7f0
add esp, 0x1c
mov ecx, dword [ebp - 0x68]
and cl, 1
or cl, al
mov dword [ebp - 0x68], ecx
jmp dword [0x44729c]
push edi
call fcn.00408780
add esp, 4
mov ebx, dword [ebp - 0x3c]
jmp dword [0x4472a4]
mov ebx, dword [ebp - 0x3c]
jmp dword [0x4472a4]
jmp dword [0x4472ac]
push esi
call fcn.00408780
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00408780
add esp, 4
jmp dword [0x4472b4]
mov eax, dword [case.0x4223ca.232]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [ebp - 0xb4]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x4471ec]
jmp dword [0x447204]
push dword [ebp - 0x54]
call fcn.00408780
add esp, 4
mov eax, dword [ebp - 0x68]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x38], 0xfcf092d
mov dword [ebp - 0x34], 0x3f20dfc
mov dword [ebp - 0x30], 0x7e701c4
mov dword [ebp - 0x2c], 0x1bfb05f0
mov dword [ebp - 0x28], 0x1f1e193d
lea eax, [ebp - 0x24]
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 0
mov ecx, 0x2d70afc2
nop
nop
nop
movzx edx, byte [ebp + ecx - 0x2d70affa]
xor edx, ecx
mov esi, 0xe3336eca
sub esi, edx
or esi, 1
add esi, edx
add esi, 0x1ccc9136
mov edi, esi
and edi, 0xfd
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
xor ebx, 2
imul ebx, edi
lea edi, [edx + 0x35]
and edi, 0xfe
and edx, 1
or edx, edi
add edx, esi
add edx, ebx
mov byte [ebp + ecx - 0x2d70affa], dl
inc ecx
cmp ecx, 0x2d70afd9
jne 0x425410
lea edi, [ebp - 0xcc]
lea edx, [ebp - 0x38]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebp - 0xb8]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [ebp - 0x38], 0xfcf092d
mov dword [ebp - 0x34], 0x3f20dfc
mov dword [ebp - 0x30], 0x7e701c4
mov dword [ebp - 0x2c], 0x1bfb05f0
mov dword [ebp - 0x28], 0x1f1e193d
lea eax, [ebp - 0x24]
mov word [ebp - 0x24], 0
mov byte [ebp - 0x22], 0
mov ecx, 0x2d70afc2
nop
nop
nop
movzx edx, byte [ebp + ecx - 0x2d70affa]
xor edx, ecx
mov esi, 0xe3336eca
sub esi, edx
or esi, 1
add esi, edx
add esi, 0x1ccc9136
mov edi, esi
and edi, 0xfd
mov ebx, esi
and ebx, 2
or esi, 2
imul esi, ebx
xor ebx, 2
imul ebx, edi
lea edi, [edx + 0x35]
and edi, 0xfe
and edx, 1
or edx, edi
add edx, esi
add edx, ebx
mov byte [ebp + ecx - 0x2d70affa], dl
inc ecx
cmp ecx, 0x2d70afd9
jne 0x4254c0
lea edi, [ebp - 0xcc]
lea edx, [ebp - 0x38]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebp - 0xb8]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp dword [0x4471d8]
jmp dword [0x4471e0]
lea eax, [ebp - 0x44]
push eax
push 0
push 0
push 9
lea esi, [ebp - 0xcc]
push esi
push 0
call dword [0x44ce7c]
mov ebx, dword [ebp - 0x44]
test ebx, ebx
jns 0x42556b
mov eax, 0xffffffff
jmp 0x42556e
lea eax, [ebx + ebx]
push eax
call fcn.00408770
add esp, 4
lea ecx, [ebp - 0x44]
push ecx
push ebx
push eax
push 9
push esi
push 0
call dword [0x44ce7c]
mov dword [ebp - 0x38], 0x57ff4904
mov dword [ebp - 0x34], 0x53fd55eb
mov dword [ebp - 0x30], 0x5fe051e3
mov dword [ebp - 0x2c], 0x5b5a5df0
mov eax, 0x485a6dee
mov esi, 0x37a59211
nop
nop
movzx ebx, byte [ebp + eax - 0x485a6e26]
mov edi, esi
and edi, 0x1218213
mov edx, eax
and edx, 0x401a040c
or edx, edi
xor edx, 0x769e140c
or edx, ebx
lea edi, [eax - 0x48500000]
and edi, 0xa043f
mov ecx, esi
or ecx, ebx
or edi, 0x401000c0
xor edi, ebx
and edi, ecx
not edx
or edx, edi
add edx, 0xe37f06c1
mov ecx, edx
xor ecx, 0x67
and edx, 0x18
add edx, edx
sub edx, ecx
mov byte [ebp + eax - 0x485a6e26], dl
inc eax
dec esi
cmp eax, 0x485a6dfe
jne 0x4255b0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp - 0x44]
push eax
push 0
push 0
push 9
lea esi, [ebp - 0xcc]
push esi
push 0
call dword [0x44ce7c]
mov ebx, dword [ebp - 0x44]
test ebx, ebx
jns 0x425650
mov eax, 0xffffffff
jmp 0x425653
lea eax, [ebx + ebx]
push eax
call fcn.00408770
add esp, 4
lea ecx, [ebp - 0x44]
push ecx
push ebx
mov dword [ebp - 0x54], eax
push eax
push 9
push esi
push 0
call dword [0x44ce7c]
mov dword [ebp - 0x38], 0x57ff4904
mov dword [ebp - 0x34], 0x53fd55eb
mov dword [ebp - 0x30], 0x5fe051e3
mov dword [ebp - 0x2c], 0x5b5a5df0
mov eax, 0x485a6dee
mov ecx, 0x37a59211
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ebp + eax - 0x485a6e26]
mov esi, ecx
and esi, 0x1218213
mov edx, eax
and edx, 0x401a040c
or edx, esi
xor edx, 0x769e140c
or edx, ebx
lea edi, [eax - 0x48500000]
and edi, 0xa043f
mov esi, ecx
or esi, ebx
or edi, 0x401000c0
xor edi, ebx
and edi, esi
not edx
or edx, edi
add edx, 0xe37f06c1
mov esi, edx
xor esi, 0x67
and edx, 0x18
add edx, edx
sub edx, esi
mov byte [ebp + eax - 0x485a6e26], dl
inc eax
dec ecx
cmp eax, 0x485a6dfe
jne 0x4256a0
jmp dword [0x4471e8]
lea edi, [ebp - 0xdc]
lea edx, [ebp - 0x38]
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [ebp - 0xcc]
lea edx, [ebp - 0x28]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [ebp - 0x38], 0x61fd67d8
mov dword [ebp - 0x34], 0x5dff63ed
mov dword [ebp - 0x30], 0x59cc5fcd
mov dword [ebp - 0x2c], 0x55e75bc4
mov dword [ebp - 0x28], 0x51c057f7
mov dword [ebp - 0x24], 0x4dc053f3
mov dword [ebp - 0x20], 0x494e4fc7
lea ebx, [ebp - 0x1c]
mov word [ebp - 0x1c], 0
mov byte [ebp - 0x1a], 0
mov ecx, 0xc9cc5f99
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [ebp + ecx + 0x3633a02f]
mov esi, ecx
and esi, edx
add esi, esi
sub edx, esi
add edx, ecx
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 2
mov byte [ebp + ecx + 0x3633a02f], dl
inc ecx
cmp ecx, 0xc9cc5fb8
jne 0x425780
lea edx, [ebp - 0x10e]
lea esi, [ebp - 0x38]
mov edi, edx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [ebp - 0xf2]
xor esi, esi
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [ebp - 0x38], 0x611d6738
mov dword [ebp - 0x34], 0x7d1f63ed
mov dword [ebp - 0x30], 0x790c7f0d
mov dword [ebp - 0x2c], 0x752a7b04
mov dword [ebp - 0x28], 0x71347718
lea ebx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x7370
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebp + esi - 0x38]
lea ecx, [esi + 0xe9]
mov eax, 0x2fbdcc16
sub eax, esi
xor ecx, eax
and ecx, edi
xor ecx, eax
mov eax, ecx
not eax
and eax, 0x72
xor ecx, 0x114b038d
lea eax, [ecx + eax*2]
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov byte [ebp + esi - 0x38], al
mov eax, esi
and eax, 1
mov ecx, eax
not ecx
add ecx, esi
add ecx, 2
mov esi, ecx
and esi, eax
xor eax, ecx
lea esi, [eax + esi*2]
cmp esi, 0x18
jb case.default.0x42590f
lea esi, [ebp - 0xf2]
lea eax, [ebp - 0x38]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [ebp - 0xde]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0xdc]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov eax, dword [ebp - 0x54]
add eax, 2
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x3c]
mov eax, ebx
add eax, 2
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x6c]
add eax, 2
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x5c]
add eax, 2
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x60]
mov eax, ecx
add eax, 2
mov dword [ebp - 0xa0], eax
xor edx, edx
xor eax, eax
mov dword [ebp - 0x68], 0
cmp edx, 0xc
setne al
lea edx, [ebx + 0x1a]
mov dword [ebp - 0xb0], edx
lea edx, [ebp - 0x34]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xb8], edx
add ecx, 0x12
mov dword [ebp - 0xa8], ecx
xor ecx, ecx
jmp dword [eax*4 + 0x4471ec]
int3
push eax
sub esp, 0x3c
mov dword [ebp - 0x14], esp
sub esp, 0x40
mov eax, esp
push eax
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x20], esp
mov dword [eax], 0x19d51bf7
mov dword [eax + 4], 0xe556e7a8
mov dword [eax + 8], 0xe14de328
mov dword [eax + 0xc], 0xed41ef5c
mov dword [eax + 0x10], 0xe94eeb07
mov dword [eax + 0x14], 0xf547f73a
mov dword [eax + 0x18], 0xf159f348
mov dword [eax + 0x1c], 0xfd51ff40
mov dword [eax + 0x20], 0xf90ffb50
mov dword [eax + 0x24], 0xc562c70d
mov dword [eax + 0x28], 0xc169c379
mov dword [eax + 0x2c], 0xcd73cf7d
mov dword [eax + 0x30], 0xc97bcb7b
mov dword [eax + 0x34], 0xd524d77a
mov dword [eax + 0x38], 0xd161d36c
mov dword [eax + 0x3c], 0xdddedf64
xor esi, esi
xor edx, edx
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, esi
and ecx, 0xa
mov ebx, edx
xor ebx, 0x7a
sub ebx, ecx
inc bl
xor bl, byte [edi]
add bl, 0x99
mov byte [edi], bl
inc edi
dec edx
add esi, 0xfffffffe
cmp edx, 0xffffffc0
jne 0x4259c0
mov edx, eax
mov esi, dword [ebp - 0x14]
mov edi, esi
mov ecx, 0x10
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, esi
add edi, 0x40
add eax, 0x40
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [ebp - 0x10]
push edi
push 0
push 0
push 0x1f
push esi
push 0
call dword [0x44ce7c]
mov ebx, dword [edi]
test ebx, ebx
jns 0x425a20
mov eax, 0xffffffff
jmp 0x425a23
lea eax, [ebx + ebx]
push eax
call fcn.00408770
add esp, 4
mov edi, eax
push dword [ebp - 0x10]
push ebx
push eax
push 0x1f
push esi
push 0
call dword [0x44ce7c]
push 0x60
push 3
push 0x120089
push dword [ebp - 0x20]
push edi
call fcn.0043f4c0
add esp, 0x14
jmp case.0x4223ca.234
mov eax, 0xffffffff
mov ebx, dword [ebp - 0x20]
push eax
call fcn.00408770
add esp, 4
mov esi, eax
push dword [ebp - 0x14]
push edi
push eax
push 0x1f
push dword [ebp - 0x10]
push 0
call dword [0x44ce7c]
push 0x60
push 3
push 0x120089
push ebx
push esi
call fcn.0043f4c0
add esp, 0x14
jmp dword [0x4472d8]
push eax
sub esp, 0x3c
mov dword [ebp - 0x10], esp
sub esp, 0x40
mov eax, esp
push eax
mov dword [ebp - 0x14], esp
push eax
mov dword [ebp - 0x20], esp
push eax
mov dword [ebp - 0x18], esp
sub esp, 0xc
mov dword [ebp - 0x60], esp
push eax
mov dword [ebp - 0x2c], esp
push eax
mov dword [ebp - 0x30], esp
sub esp, 0x20
mov dword [ebp - 0x34], esp
mov dword [eax], 0x19d51bf7
mov dword [eax + 4], 0xe556e7a8
mov dword [eax + 8], 0xe14de328
mov dword [eax + 0xc], 0xed41ef5c
mov dword [eax + 0x10], 0xe94eeb07
mov dword [eax + 0x14], 0xf547f73a
mov dword [eax + 0x18], 0xf159f348
mov dword [eax + 0x1c], 0xfd51ff40
mov dword [eax + 0x20], 0xf90ffb50
mov dword [eax + 0x24], 0xc562c70d
mov dword [eax + 0x28], 0xc169c379
mov dword [eax + 0x2c], 0xcd73cf7d
mov dword [eax + 0x30], 0xc97bcb7b
mov dword [eax + 0x34], 0xd524d77a
mov dword [eax + 0x38], 0xd161d36c
mov dword [eax + 0x3c], 0xdddedf64
xor esi, esi
xor ebx, ebx
mov edi, eax
nop
mov ecx, esi
and ecx, 0xa
mov edx, ebx
xor edx, 0x7a
sub edx, ecx
inc dl
xor dl, byte [edi]
add dl, 0x99
mov byte [edi], dl
inc edi
dec ebx
add esi, 0xfffffffe
cmp ebx, 0xffffffc0
jne 0x425b40
mov edx, eax
mov ecx, 0x10
mov esi, dword [ebp - 0x10]
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, esi
add edi, 0x40
add eax, 0x40
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [ebp - 0x14]
push edi
push 0
push 0
push 0x1f
push esi
push 0
call dword [0x44ce7c]
mov edi, dword [edi]
test edi, edi
js 0x425a60
lea eax, [edi + edi]
jmp 0x425a65
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4472dc]
xor ebx, ebx
jmp dword [0x4473d4]
push esi
call fcn.00408780
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x5c], esi
push 0
mov edi, dword [ebp - 0x18]
push edi
push dword [ebx]
call fcn.0043f7d0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x28], 0
jmp dword [eax*4 + 0x4472e4]
mov esi, dword [edi]
lea eax, [esi + 1]
push eax
call fcn.00408770
add esp, 4
push 0
push esi
mov dword [ebp - 0x54], eax
push eax
push dword [ebx]
call fcn.0043f890
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x28], 0
jmp dword [eax*4 + 0x4472ec]
jmp dword [0x4473cc]
push dword [ebp - 0x54]
call fcn.00408780
add esp, 4
mov eax, dword [ebx]
mov dword [ebp - 0x3c], 0x3c3d3a3b
mov word [ebp - 0x38], 0
mov byte [ebp - 0x36], 0
mov ecx, 0x1dfd414a
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x1dfd4186]
xor esi, ecx
mov edx, esi
and edx, 0xd
add edx, edx
xor esi, 0x72
sub edx, esi
mov byte [ebp + ecx - 0x1dfd4186], dl
inc ecx
cmp ecx, 0x1dfd4151
jne 0x425c50
mov ecx, dword [0x44ce80]
test ecx, ecx
mov ebx, dword [ebp - 0x28]
je 0x425cac
mov edx, dword [ebp - 0x3c]
xor esi, esi
mov edi, dword [0x44ce84]
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x425ca0
inc esi
cmp ecx, esi
jne 0x425c90
jmp 0x425cac
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x426323
and bl, 1
mov esi, dword [ebp - 0x5c]
jmp dword [0x4473d4]
mov eax, dword [edi]
mov edi, dword [ebp - 0x54]
mov byte [edi + eax], 0
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x28], 0
nop
mov esi, dword [ebp - 0x60]
mov dword [esi], 0x7682847a
mov dword [esi + 4], 0x728d708e
mov dword [esi + 8], 0x16355b
mov eax, 5
nop
nop
nop
nop
movzx ecx, byte [esi + eax - 5]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xe7
mov byte [esi + eax - 5], cl
inc eax
cmp eax, 0x11
jne 0x425cf0
movzx ecx, byte [esi]
test cl, cl
je 0x425d40
mov eax, esi
mov esi, edi
jmp 0x425d2d
inc esi
mov edi, esi
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
test cl, cl
je 0x425d52
movzx edx, byte [edi]
test dl, dl
je 0x425d50
cmp dl, cl
jne 0x425d20
inc eax
inc edi
jmp 0x425d26
mov esi, edi
jmp 0x425d52
xor esi, esi
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x4472f4]
jmp dword [0x447304]
lea edi, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor edx, edx
test al, al
je 0x425d60
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x425d90
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x425d80
jmp 0x425d60
mov edx, ecx
jmp dword [0x447304]
mov ecx, edx
sub ecx, edi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44730c]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x447314]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x44731c]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x447324]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44733c]
mov eax, ecx
inc eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x10], eax
jns 0x425e06
mov dword [ebp - 0x44], ecx
mov eax, 0xffffffff
jmp 0x425e10
jmp dword [0x447350]
mov dword [ebp - 0x44], ecx
lea eax, [ecx*2 + 2]
push eax
call fcn.00408770
add esp, 4
mov ebx, eax
push dword [ebp - 0x24]
push edi
push dword [ebp - 0x10]
push eax
call fcn.0040b250
add esp, 0x10
push 0x60
push 3
push 0x120089
push dword [ebp - 0x2c]
mov dword [ebp - 0x48], ebx
push ebx
call fcn.0043f4c0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447354]
mov eax, dword [ebp - 0x24]
mov edi, eax
mov ebx, dword [ebp - 0x20]
jmp dword [0x4473c4]
push 0
mov ebx, dword [ebp - 0x30]
push ebx
mov eax, dword [ebp - 0x2c]
push dword [eax]
call fcn.0043f7d0
add esp, 0xc
test eax, eax
setns al
mov edx, dword [ebx]
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44735c]
mov dword [ebp - 0x14], edx
jmp dword [0x447364]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
jmp 0x4262d2
mov dword [ebp - 0x40], ebx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447374]
xor ecx, ecx
mov eax, dword [ebp - 0x48]
jmp 0x425ec8
add eax, 2
test dx, dx
je 0x425ed9
mov ebx, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x425ec0
mov ecx, ebx
jmp 0x425ec0
mov dword [ebp - 0x58], edi
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44737c]
mov dword [ebp - 0x4c], 0
xor ebx, ebx
jmp dword [0x447384]
sub ebx, dword [ebp - 0x48]
sar ebx, 1
inc ebx
mov eax, dword [ebp - 0x44]
sub eax, ebx
mov dword [ebp - 0x4c], eax
jmp dword [0x447384]
mov eax, 0x1b
mov ecx, dword [ebp - 0x4c]
shl eax, cl
push eax
call fcn.00408770
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ebx
and ebx, dword [ebp - 0x44]
mov dword [ebp - 0x18], ebx
mov edx, dword [ebp - 0x34]
mov dword [edx], 0xa8aaa88b
mov dword [edx + 4], 0xb789bba6
mov dword [edx + 8], 0xb6e8c3b8
mov dword [edx + 0xc], 0xfcb384b4
mov dword [edx + 0x10], 0x82b6ba9e
mov dword [edx + 0x14], 0xc0bab8b8
mov word [edx + 0x18], 0xc2c1
mov byte [edx + 0x1a], 0x12
mov dword [edx + 0x1b], 0
mov ecx, 0x34
nop
nop
movzx ebx, byte [edx]
lea eax, [ecx - 0x58166000]
or eax, ebx
and ebx, ecx
not eax
or eax, ebx
mov ebx, eax
and ebx, 1
xor eax, 1
lea eax, [eax + ebx*2]
add al, 8
mov byte [edx], al
inc edx
dec ecx
cmp ecx, 0x15
jne 0x425f70
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax]
mov edx, dword [ebp - 0x1c]
test al, al
mov edi, dword [ebp - 0x58]
je 0x425fb8
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x1c]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425fad
mov byte [edx], 0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
mov eax, dword [ebp - 0x14]
je 0x425ff1
lea ebx, [edi + eax]
mov eax, ecx
and eax, 3
je 0x425ff5
mov dword [ebp - 0x10], eax
xor eax, eax
movzx ecx, byte [ebx]
cmp cl, 1
sbb ebx, 0xffffffff
mov byte [edx + eax], cl
inc eax
cmp dword [ebp - 0x10], eax
jne 0x425fd4
add edx, eax
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov eax, edx
jmp 0x425ff5
mov eax, edx
jmp 0x42603c
cmp dword [ebp - 0x18], 4
jb 0x42603c
mov dword [ebp - 0x18], ecx
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
mov byte [edx], al
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
mov byte [edx + 1], al
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
mov byte [edx + 2], al
movzx eax, byte [ebx]
cmp al, 1
sbb ebx, 0xffffffff
lea ecx, [edx + 4]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x18]
mov byte [edx + 3], al
mov eax, dword [ebp - 0x10]
mov edx, eax
add ecx, 0xfffffffc
jne 0x425ffb
mov byte [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
push dword [eax]
push dword [ebp - 0x40]
push dword [ebp - 0x1c]
call fcn.00409700
mov ebx, dword [ebp - 0x14]
jmp case.0x4223ca.280
mov eax, ecx
mov byte [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
push dword [eax]
push dword [ebp - 0x40]
push dword [ebp - 0x18]
call fcn.00409700
mov ebx, dword [ebp - 0x14]
jmp dword [0x447390]
mov ecx, dword [ebp - 0x24]
sub ecx, ebx
sub ecx, esi
lea eax, [ecx - 0xa]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x10], ecx
lea eax, [ecx - 0xb]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x1b
push eax
call fcn.00408770
add esp, 4
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], ebx
sub eax, ebx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x34]
mov dword [edx], 0xa8aaa88b
mov dword [edx + 4], 0xb789bba6
mov dword [edx + 8], 0xb6e8c3b8
mov dword [edx + 0xc], 0xfcb384b4
mov dword [edx + 0x10], 0x82b6ba9e
mov dword [edx + 0x14], 0xc0bab8b8
mov word [edx + 0x18], 0xc2c1
mov byte [edx + 0x1a], 0x12
mov dword [edx + 0x1b], 0
mov ecx, 0x34
nop
nop
nop
movzx eax, byte [edx]
lea ebx, [ecx - 0x58166000]
or ebx, eax
and eax, ecx
not ebx
or ebx, eax
mov eax, ebx
and eax, 1
xor ebx, 1
lea eax, [ebx + eax*2]
add al, 8
mov byte [edx], al
inc edx
dec ecx
cmp ecx, 0x15
jne 0x4260f0
mov eax, dword [ebp - 0x34]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x18]
mov ecx, eax
test dl, dl
mov edi, dword [ebp - 0x58]
je 0x42613b
mov ebx, dword [ebp - 0x50]
mov ecx, eax
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [ebx]
inc ebx
test dl, dl
jne 0x426130
mov byte [ecx], 0
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x14]
je 0x426057
lea edx, [edi + eax]
mov ebx, dword [ebp - 0x10]
and ebx, 3
xor ebx, 2
je 0x426182
xor eax, eax
mov dword [ebp - 0x10], ebx
nop
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx + eax], bl
mov ebx, dword [ebp - 0x10]
inc eax
cmp ebx, eax
jne 0x426160
add ecx, eax
mov ebx, dword [ebp - 0x64]
sub ebx, eax
mov eax, ecx
mov dword [ebp - 0x1c], ebx
jmp 0x426182
cmp dword [ebp - 0x68], 3
mov ebx, dword [ebp - 0x1c]
jb 0x426059
nop
movzx eax, byte [edx]
cmp al, 1
sbb edx, 0xffffffff
mov byte [ecx], al
movzx eax, byte [edx]
cmp al, 1
sbb edx, 0xffffffff
mov byte [ecx + 1], al
movzx eax, byte [edx]
cmp al, 1
sbb edx, 0xffffffff
mov byte [ecx + 2], al
movzx eax, byte [edx]
cmp al, 1
sbb edx, 0xffffffff
lea edi, [ecx + 4]
mov dword [ebp - 0x10], edi
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x10]
mov ecx, eax
add ebx, 0xfffffffc
jne 0x426190
jmp 0x426059
mov ecx, dword [ebp - 0x28]
and cl, 1
or cl, al
mov dword [ebp - 0x28], ecx
jmp dword [0x447394]
push dword [ebp - 0x18]
call fcn.00408780
add esp, 4
mov esi, dword [ebp - 0x40]
jmp dword [0x4473ac]
mov esi, dword [ebp - 0x40]
jmp dword [0x4473ac]
jmp dword [0x4473b4]
push esi
call fcn.00408780
add esp, 4
nop
nop
nop
push esi
call fcn.00408780
add esp, 4
jmp dword [0x4473c0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x3c], 0x3c3d3a3b
lea ecx, [ebp - 0x38]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x1dfd414a
nop
nop
nop
nop
movzx esi, byte [ebp + ecx - 0x1dfd4186]
xor esi, ecx
mov edx, esi
and edx, 0xd
add edx, edx
xor esi, 0x72
sub edx, esi
mov byte [ebp + ecx - 0x1dfd4186], dl
inc ecx
cmp ecx, 0x1dfd4151
jne 0x426240
mov ecx, dword [0x44ce80]
test ecx, ecx
mov ebx, dword [ebp - 0x20]
je 0x426298
mov edx, dword [ebp - 0x3c]
xor esi, esi
mov edi, dword [0x44ce84]
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x426290
inc esi
cmp ecx, esi
jne 0x426280
jmp 0x426298
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4262b5
mov eax, dword [ebp - 0x24]
mov edi, eax
jmp dword [0x4473c4]
push dword [ebp - 0x48]
mov edi, eax
call fcn.00408780
add esp, 4
jmp case.0x4223ca.267
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
mov eax, dword [ebp - 0x24]
mov edi, eax
jmp dword [0x4473c4]
push eax
call fcn.00408770
add esp, 4
mov ebx, eax
push 0
push dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax]
call fcn.0043f890
add esp, 0x10
jmp dword [0x447370]
mov ebx, dword [ebp - 0x14]
push ebx
call fcn.00408770
add esp, 4
push 0
mov ecx, dword [ebp - 0x30]
push dword [ecx]
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax]
call fcn.0043f890
add esp, 0x10
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, ebx
jmp 0x4262d2
push eax
push 4
push ecx
push dword [0x44ce88]
call fcn.0043c030
add esp, 0x10
and bl, 1
mov esi, dword [ebp - 0x5c]
jmp dword [0x4473d4]
out dx, al
inc ecx
add byte [edi + 0x110041f0], bl
invalid
inc ecx
add byte [ecx - 0xf], dh
inc ecx
add byte [ecx], dl
test byte [ecx], 0x4d
inc ecx
add byte [edx - 0xb], ah
cmc
cmc
inc ecx
add byte [edi - 0x48ffbe0d], al
cmc
inc ecx
add byte [eax - 0xb], bh
inc ecx
add byte [esi - 0x4fffbe0d], dh
hlt
or eax, 0xe160042
inc edx
add byte [eax], dh
push cs
inc edx
add byte [esi + ecx], bl
inc edx
add byte [eax], dh
push cs
inc edx
add byte [ebp + 0xe], dh
inc edx
add byte [eax], al
push cs
inc edx
add byte [ecx + 0xf], 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 [edi + 0x3000421a], bh
cmovb eax, dword [eax]
jge 0x446905
inc edx
add byte [eax + 0x13], ah
inc edx
add ch, dl
cmovb eax, dword [eax]
invalid
cmovb eax, dword [eax]
cmovb eax, dword [eax]
invalid
pop ds
inc edx
add byte [eax], dh
and byte [edx], al
and ah, byte [eax]
inc edx
add byte [eax + 0x20], dl
inc edx
add byte [eax + 0x61004220], ah
and dword [edx], eax
cmpsb byte [esi], byte es:[edi]
and byte [edx], al
mov al, 0x20
inc edx
add byte [eax - 0x43ffbde0], dh
and byte [edx], al
mov al, 0x21
inc edx
add al, al
and dword [edx], eax
in eax, 0x21
inc edx
add al, dh
and dword [edx], eax
xchg ecx, eax
and al, byte [edx]
xchg ebx, eax
and al, byte [edx]
push esi
and eax, dword [edx]
push eax
and dword [edx], eax
shl dword [ebx], 1
and eax, dword [edx]
lock and eax, dword [edx]
and eax, dword [edx]
lock and eax, dword [edx]
inc eax
push ds
inc edx
add byte [eax], dh
push ds
inc edx
add dh, dh
sbb eax, 0x1e400042
inc edx
add byte [ebx], ch
inc edx
add byte [ecx], cl
push ds
inc edx
add byte [esi], bl
inc edx
add byte [ebx], ch
inc edx
add byte [edx + 0x6500422b], bl
xor dword [edx], eax
xor dword gs:[edx], eax
mov dh, 43
inc edx
add byte [ebx + 0x2c], ch
inc edx
add byte [edx + 0x31], dl
inc edx
add byte [ecx - 0x5cffbdd4], ah
sub eax, 0x2d620042
inc edx
add byte [ebx + 0x1400422c], dh
inc edx
add bh, bh
sub eax, 0x2e100042
inc edx
add byte [eax], dl
inc edx
add byte [eax], dl
inc edx
add byte [esi + ebp], dl
inc edx
add byte [eax + 0x2200422d], dl
inc edx
add byte [eax + 0x5f00422d], dl
inc edx
add byte [ebx + 0x31], al
inc edx
add byte [eax - 0xffbdd2], dl
inc edx
add byte [edi], bl
das
inc edx
add byte [0x1000422f], al
das
inc edx
add byte [edi], bl
das
inc edx
add byte [eax], dl
das
inc edx
add byte [esi], dh
das
inc edx
add byte [ecx], ch
xor byte [edx], al
add esi, dword [ecx]
xor dword [edx], eax
mov esi, dword [eax]
inc edx
invalid
xchg esp, eax
xor byte [edx], al
invalid
xor dword [edx], eax
mov esi, dword [eax]
inc edx
add byte [eax + esi + 0x30db0042], dl
inc edx
add ch, bh
xor byte [edx], al
invalid
xor eax, 0x39ef0042
inc edx
add byte [ebp + 0x32], bl
inc edx
add byte [ebx], cl
cmp al, byte [edx]
xlatb
inc ebp
inc edx
add byte [ecx], bh
cmp al, byte [edx]
inc eax
inc edx
add byte [ebp - 0x52ffbdc0], ch
inc eax
inc edx
add byte [edi], bh
inc ecx
inc edx
add byte [ecx + eax*2 + 0x42], cl
add byte [ebx], bh
cmp al, 0x42
add byte [ecx + eax*2 + 0x42], cl
inc ecx
inc edx
inc ecx
inc edx
add bh, ch
cmp al, 0x42
add byte [edx], cl
cmp eax, 0x3d590042
inc edx
add byte [eax], ah
cmp eax, 0x3d200042
inc edx
add byte [eax], ah
cmp eax, 0x414c0042
inc edx
add byte [ebp + 0x41], dl
inc edx
add bh, dl
inc ebp
inc edx
add byte [esi], bl
inc esi
inc edx
add byte [esi], ch
inc esi
inc edx
add byte [esi], bl
inc esi
inc edx
add bh, dl
inc ebp
inc edx
add byte [edx + 0x32], dl
inc edx
add byte [ebp + 0x32], bl
inc edx
add byte [edi + 0x35], al
inc edx
add bh, dh
xor al, byte [edx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
div dword [edx]
inc edx
add byte [ecx], al
add byte [eax], al
add byte [edx], cl
xor eax, dword [edx]
xor eax, 0x34ad0042
inc edx
add bh, dl
xor al, 0x42
add dh, ch
aas
inc edx
add byte [eax], al
xor eax, 0x41830042
inc edx
add byte [ebx], dh
xor eax, 0x45e10042
inc edx
add ch, bl
inc ebp
inc edx
add ch, bl
inc ebp
inc edx
add byte [edx + 0x53004240], ah
inc esi
inc edx
add byte [ebp + 0x46], bl
inc edx
add byte [ebx + 0x46], dl
inc edx
add byte [esi + eax*2 + 0x42], al
add byte [ebx + 0x41], bl
inc edx
add byte [edi + edi + 0x42], dl
add byte [edx + 0x3a], al
inc edx
add dh, dh
cmp byte [edx], al
invalid
push ebx
inc edx
add byte [eax], al
dec esi
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 [edx - 0x3fffbdad], bh
push ebx
inc edx
add bl, cl
push ebx
inc edx
add byte [ebx - 0x2fffbdb1], ch
dec edi
inc edx
add byte [eax - 0xfffbdb4], dh
dec edi
inc edx
add byte [edi + 0x50], al
inc edx
add byte [edx], ah
push eax
inc edx
add byte [edi + 0x50], al
inc edx
add bh, al
inc esi
inc edx
add bl, dl
inc esi
inc edx
add byte [esi], bh
dec ecx
inc edx
add byte [esi], bh
dec ecx
inc edx
add byte [esi], al
dec ebx
inc edx
add byte [ebx + ecx*2], dl
inc edx
add byte [edx], ah
dec ebx
inc edx
add byte [esp + ecx*2 + 0x42], al
add byte [edi + 0x4c], ch
inc edx
add byte [edx + 0x4c], cl
inc edx
add byte [eax + 0x4c], ah
inc edx
add byte [edi + 0x4c], ch
inc edx
add byte [eax + 0x4c], ah
inc edx
add byte [eax - 0x64ffbdb4], dl
dec esp
inc edx
add byte [ebp + 0x50], cl
inc edx
add byte [eax + 0x5600424c], dh
dec ebp
inc edx
add byte [esi + 0x5600424c], dh
dec ebp
inc edx
add byte [ebx - 0x4fffbdb1], ch
dec edi
inc edx
add byte [eax - 0x4fffbdb1], dh
dec edi
inc edx
add byte [edx - 0x44ffbdb1], dh
dec edi
inc edx
add byte [eax + 0x50], ah
inc edx
add byte [edi + 0x6a004253], cl
push eax
inc edx
add byte [ecx + 0x53], cl
inc edx
add byte [eax + 0x53], ah
inc edx
add byte [ecx + 0x53], ch
inc edx
add byte [edi - 0x7fffbdad], cl
push ebx
inc edx
add byte [edi + 0x53], ch
inc edx
add byte [edi - 0x7fffbdad], cl
push ebx
inc edx
add byte [eax - 0x5fffbdad], ah
push ebx
inc edx
add byte [edx - 0x5fffbdad], ah
push ebx
inc edx
add byte [esi + 0x2f00425a], bl
pop ecx
inc edx
add byte [esi - 0x5affbda6], bl
pop ebx
inc edx
add byte [ecx - 0x33ffbda5], dh
pop ebx
inc edx
add byte [0xf200425c], dh
pop ebx
inc edx
add byte [esp + ebx*2], ah
inc edx
add byte [eax + 0x6600425c], bh
pop ebp
inc edx
add byte [esp + ebx*2], ah
inc edx
add byte [esi + 0x5d], ah
inc edx
add byte [esi + 0x5d], ah
inc edx
add byte [eax + 0x6600425d], bl
pop ebp
inc edx
add byte [ebx + 0x425d], ch
pop esi
inc edx
add byte [ebx + 0x425d], bh
pop esi
inc edx
add bl, cl
pop ebp
inc edx
add byte [eax], al
pop esi
inc edx
add bl, bl
pop ebp
inc edx
add byte [eax], al
pop esi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add bl, bl
pop ebp
inc edx
add byte [ecx], al
add byte [eax], al
add bl, ch
pop ebp
inc edx
add byte [eax], al
pop esi
inc edx
add byte [eax], al
pop esi
inc edx
add byte [eax], al
pop esi
inc edx
add byte [eax], al
pop esi
inc edx
add al, dl
pop esp
inc edx
add byte [edi + 0x5e], cl
inc edx
add byte [ebp + 0x5e], bl
inc edx
add byte [edi], bl
bound eax, qword [edx]
mov word [esi + 0x42], ds
add byte [ebp - 167755170], dl
bound eax, qword [edx]
mul byte [edx + 0x42]
add byte [eax - 184532386], ah
popal
inc edx
add byte [edi - 0x15ffbda2], ch
pop esi
inc edx
add cl, bh
pop esi
inc edx
add byte [eax + 0x60], bh
inc edx
add byte [0x7800425f], cl
pushal
inc edx
add al, dl
popal
inc edx
add cl, ah
popal
inc edx
add ch, dh
popal
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add ch, dh
popal
inc edx
add byte [ecx], al
add byte [eax], al
add dh, bh
popal
inc edx
add byte [edi], bl
bound eax, qword [edx]
adc byte [edx + 0x42], ah
add byte [edx], al
inc edx
add byte [eax], dl
bound eax, qword [edx]
pop ds
bound eax, qword [edx]
mov dword [0xd0004262], eax
pop esp
inc edx
add byte [edx], ch
pop esp
inc edx
add byte [0xb900425c], dh
pop ebx
inc edx
add dl, al
pop ebx
inc edx
add byte [eax], al
add byte [eax], al
add ch, dl
xchg ebx, eax
or eax, dword [ecx]
rcl byte [ebx - 0x69bafef5]
or eax, dword [ecx]
pop ss
cwde
or eax, dword [ecx]
xchg edi, eax
cwde
or eax, dword [ecx]
inc eax
cwde
or eax, dword [ecx]
invalid