Function at 0x4215f4
Capabilities:
Copy file
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x454
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], 0xe06be676
mov dword [esp + 0x58], 0xdc42e27c
mov dword [esp + 0x5c], 0xd889de48
mov dword [esp + 0x60], 0xd453da44
mov dword [esp + 0x64], 0xd0d7d648
mov word [esp + 0x68], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x42088e
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x54]
add eax, 0xe00ffbd9
xor eax, ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0xc4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb case.default.0x4208a1
lea edi, [esp + 0x54]
lea ecx, [esp + 0x3c]
push edi
call fcn.0043ae90
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446ecc]
jmp dword [0x446ed4]
lea ecx, [esp + 0x3c]
push 0x410
call fcn.0043b0c0
nop
nop
nop
nop
lea ecx, [esp + 0x3c]
push 0x410
call fcn.0043b0c0
jmp dword [0x446edc]
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446ee4]
mov dword [esp + 0x54], 0x624b1461
mov dword [esp + 0x58], 0x2c224164
mov dword [esp + 0x5c], 0x5821237d
mov dword [esp + 0x60], 0x472e2679
mov dword [esp + 0x64], 0x24737246
mov dword [esp + 0x68], 0x4f507671
mov dword [esp + 0x6c], 0x4a4d6e4a
mov dword [esp + 0x70], 0x466f4853
mov dword [esp + 0x74], 0x66545652
mov dword [esp + 0x78], 0xbe9b7955
mov dword [esp + 0x7c], 0x53829d9d
mov word [esp + 0x80], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2d
ja 0x42099a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x54]
lea edx, [eax + 0xda]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0xb57d18da
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
add al, 0xaa
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2e
jb 0x420960
lea eax, [esp + 0x30]
lea ecx, [esp + 0x3c]
push 0
push 0x2b
push edi
push eax
call fcn.0043b6d0
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
xor eax, eax
cmp ebx, ebp
sete al
mov dword [esp + 0x48], ebp
jmp dword [eax*4 + 0x446eec]
mov eax, ebp
sub eax, ebx
sar eax, 2
mov ecx, eax
or ecx, 0x421
mov edx, eax
and edx, 0x421
imul ecx, edx
xor edx, 0x421
and eax, 0xfffffbde
imul eax, edx
add eax, ecx
push eax
call fcn.00409a00
add esp, 4
mov dword [esp + 0x24], 0
xor ecx, ecx
cmp ebx, ebp
setne cl
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
jmp dword [ecx*4 + 0x446ef4]
mov ebx, dword [esp + 0x24]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x446efc]
mov esi, dword [esp + 0x20]
jmp dword [0x446f6c]
add ebx, 4
xor eax, eax
cmp ebx, ebp
setne al
jmp dword [eax*4 + 0x446ef4]
mov esi, dword [ebx]
push 0x400
push 0
push edi
call fcn.00409b30
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x3c]
push eax
push 0x400
push edi
push esi
call fcn.0043b560
cmp eax, 0xc0000000
setae al
cmp dword [esp], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446f04]
mov eax, 1
jmp dword [eax*4 + 0x446f0c]
xor eax, eax
jmp dword [eax*4 + 0x446f0c]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor edx, edx
test al, al
je 0x420ad1
mov ecx, edi
nop
nop
cmp al, 0x2e
je 0x420acf
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x420ac0
jmp 0x420ad1
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x446f14]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
mov dword [esp + 0x18], edx
je 0x420b01
mov ecx, edx
cmp al, 0x2e
je 0x420aff
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x420af0
jmp 0x420b01
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x446f1c]
mov eax, dword [case.0x4209c0.8]
jmp case.0x420da6.2
mov dword [esp + 0x28], esi
mov dword [esp + 0x4c], ebx
mov edi, dword [esp + 0x18]
jmp dword [0x446f28]
movzx eax, byte [esp + 0x54]
test al, al
je 0x420b4b
lea ecx, [esp + 0x55]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x420b40
mov byte [esi], 0xa
inc esi
mov dword [esp + 0x10], esi
mov al, 1
mov dword [esp + 0x24], eax
jmp 0x420b5f
mov dword [esp + 0x10], esi
push ebx
call fcn.00403530
add esp, 4
mov eax, dword [case.0x4209c0.8]
lea edi, [esp + 0x54]
mov ebx, dword [esp + 0x4c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x28]
mov edx, esi
mov ebp, edi
sub edx, edi
mov eax, edx
and eax, 0xfffffffc
mov ecx, edx
and ecx, 3
mov edi, edx
or edi, 3
imul edi, ecx
xor ecx, 3
imul ecx, eax
add edi, ecx
shr edi, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x420bc5
cmp eax, 0x2e
jne 0x420bc6
dec edi
movzx eax, byte [ebp + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x1c], edx
je 0x420bd9
cmp eax, 0x2e
jne 0x420bda
dec edi
mov dword [esp + 0x50], edi
lea eax, [edi + 1]
push eax
call fcn.00409a00
add esp, 4
mov dword [esp + 0x14], eax
cmp esi, ebp
je 0x420cd0
xor edi, edi
mov esi, 2
jmp 0x420c16
mov edi, ebp
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
mov ebp, dword [esp + 0x18]
jae 0x420cd0
movzx eax, byte [ebp + esi - 2]
push eax
call fcn.00415fc0
add esp, 4
mov ebx, eax
movzx eax, byte [ebp + esi - 1]
push eax
call fcn.00415fc0
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, ebp
lea ebp, [edi + 1]
mov dword [esp + 0x2c], edi
mov edx, dword [esp + 0x14]
mov byte [edx + edi], al
mov edx, dword [esp + 0x1c]
cmp esi, edx
jae 0x420c00
movzx eax, byte [ecx + esi]
push eax
call fcn.00415fc0
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
mov edi, ebp
je 0x420c02
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov ecx, dword [esp + 0x2c]
lea edi, [ecx + 2]
mov ebp, dword [esp + 0x14]
mov byte [ebp + ecx + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x420c02
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00415fc0
mov edx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x420c02
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
mov byte [edi + ecx + 2], al
add ecx, 3
mov edi, ecx
jmp 0x420c02
mov esi, dword [esp + 0x10]
mov edi, ebp
jmp dword [0x446f2c]
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
mov byte [edi + eax], 0
push edi
call fcn.004029a0
add esp, 4
mov ebx, eax
jmp dword [0x446f34]
push edi
call fcn.00409a10
add esp, 4
push ebx
call fcn.004032c0
add esp, 4
mov ecx, dword [case.0x420b08.10]
mov ebp, dword [esp + 0x48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446f4c]
mov dword [esp], 0x3156a6a5
lea ecx, [esp + 4]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 6
ja 0x420d93
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx]
add ecx, 0xd3552c28
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xe6
mov edx, dword [esp + 0xc]
mov byte [esp + edx], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 7
jb 0x420d60
mov ecx, esp
push ecx
push eax
call fcn.00403210
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446f54]
movzx ecx, byte [eax]
test cl, cl
je 0x420dcb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x420dc0
mov word [esi], 0x203a
add esi, 2
jmp case.0x420da6.0
mov esi, dword [esp + 0x28]
sub esi, edi
je case.0x420b08.3
mov ebx, 2
jmp 0x420e00
lea eax, [ebx + 4]
add ebx, 2
cmp ebx, esi
mov ebx, eax
jae case.0x420b08.3
movzx eax, byte [edi + ebx - 2]
push eax
call fcn.00415fc0
add esp, 4
movzx eax, byte [edi + ebx - 1]
push eax
call fcn.00415fc0
add esp, 4
cmp ebx, esi
jae 0x420df0
movzx eax, byte [edi + ebx]
push eax
call fcn.00415fc0
add esp, 4
cmp al, 0x40
je 0x420df0
lea eax, [ebx + 1]
cmp eax, esi
jae 0x420df0
movzx eax, byte [edi + ebx + 1]
push eax
call fcn.00415fc0
add esp, 4
jmp 0x420df0
xor esi, esi
test ebx, ebx
jne 0x420f26
jmp 0x420f33
mov edx, dword [esp + 0x10]
mov byte [edx], 0
mov dword [esp + 0x54], 0x37323565
mov dword [esp + 0x58], 0x334f4e49
mov dword [esp + 0x5c], 0x34383e45
mov dword [esp + 0x60], 0xbaca567b
mov dword [esp + 0x64], 0xaf81c0b5
mov dword [esp + 0x68], 0xcdb3c6c3
mov dword [esp + 0x6c], 0xc3c68fc3
mov word [esp + 0x70], 0x59c4
mov dword [esp + 0x72], 0
mov esi, dword [esp + 0x20]
sub edx, esi
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x21
ja 0x420ef1
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x54]
add eax, 0xb51b4cf2
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0xaa
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x22
jb 0x420ec0
lea eax, [esp + 0x54]
mov ecx, dword [esp + 0x468]
push edx
push esi
push eax
call fcn.0040a400
mov ebx, eax
jmp dword [0x446f6c]
push esi
call fcn.00409a10
add esp, 4
and bl, 1
mov esi, ebx
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
test ebx, ebx
je 0x420f33
cmp ebx, ebp
je 0x420f33
push ebx
call fcn.00409a10
add esp, 4
mov ebx, esi
lea ecx, [esp + 0x3c]
call fcn.0043b240
mov eax, ebx
add esp, 0x454
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov edi, dword [esp + 0x14]
test edi, edi
sete al
jmp dword [eax*4 + 0x446fec]
mov ecx, edi
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x420f90
sub eax, edi
cmp eax, 0xffffffd9
jge 0x421399
mov eax, 0xffffffff
jmp 0x42139c
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x446fe4]
jmp dword [edx*4 + 0x446f74]
mov dword [esp + 0x28], 0x815c8320
mov dword [esp + 0x2c], 0x8d478f4b
mov dword [esp + 0x30], 0x89578b5b
mov dword [esp + 0x34], 0x95489754
mov dword [esp + 0x38], 0x91369333
mov dword [esp + 0x3c], 0x9d519f43
mov dword [esp + 0x40], 0x99529b51
mov dword [esp + 0x44], 0x65b4674f
mov dword [esp + 0x48], 0x61c663af
mov dword [esp + 0x4c], 0x6dbf6fbd
mov dword [esp + 0x50], 0x69b66ba6
mov dword [esp + 0x54], 0x75b977b1
mov dword [esp + 0x58], 0x71b973aa
mov dword [esp + 0x5c], 0x7da47fd4
mov dword [esp + 0x60], 0x79ce7bd3
mov dword [esp + 0x64], 0x45ed47c2
mov dword [esp + 0x68], 0x419f43e0
mov dword [esp + 0x6c], 0x4de54ffc
mov dword [esp + 0x70], 0x49f94be3
mov word [esp + 0x74], 0x5748
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x50
ja 0x4210c7
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add esi, 0x38abefe3
add ecx, 0x38abefe3
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x99
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x51
jb 0x421080
lea ecx, [esp + 0x1c]
lea ebp, [esp + 0x28]
push 0
push 0
push eax
push ecx
push ebp
call fcn.0043f650
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x446f7c]
lea edi, [esp + 0x94]
lea eax, [esp + 0x80]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x3c]
call fcn.0043fa80
add esp, 0x24
not eax
shr eax, 0x1f
mov ebx, dword [esp + 0x14]
jmp dword [eax*4 + 0x446f84]
mov ecx, dword [esp + 0x94]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x421136
mov eax, 0xffffffff
push eax
call fcn.00409a00
add esp, 4
mov esi, eax
mov dword [esp + 0x28], 0x65ac1b53
mov dword [esp + 0x2c], 0x61da67d9
mov dword [esp + 0x30], 0x6dd663c3
mov dword [esp + 0x34], 0x693e6fd8
mov dword [esp + 0x38], 0x75d66bcb
mov dword [esp + 0x3c], 0x717677dc
mov word [esp + 0x40], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x4211be
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x2d19dbbd
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x5b
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x421190
push edi
push esi
push 0
push ebp
push dword [esp + 0x2c]
call fcn.00440080
add esp, 0x14
shr eax, 0x1f
mov ebx, esi
jmp dword [eax*4 + 0x446f8c]
jmp dword [0x446f9c]
xor ebx, ebx
jmp dword [0x446fa4]
jmp dword [0x446fb0]
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x446fdc]
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
jmp dword [ebx*4 + 0x446fdc]
mov eax, dword [esp + 0x1c]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x42129c
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea esi, [ecx + 0x48]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xae9a1a48
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xeb
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x421260
mov ecx, dword [0x44ab8c]
test ecx, ecx
mov dword [esp + 0x14], ebx
je 0x4212e0
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44ab90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4212d0
inc esi
cmp ecx, esi
jne 0x4212c0
jmp 0x4212e0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x4212e7
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446fbc]
push ebp
call fcn.0043ecc0
add esp, 4
cmp dword [esp + 0x28], 1
sete cl
and cl, al
movzx eax, cl
xor edx, edx
xor ecx, ecx
lea edi, [esp + 0x76]
jmp dword [eax*4 + 0x446fc4]
mov eax, dword [case.0x421340.2]
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, 2
jmp eax
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446fbc]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
lea edi, [esp + 0x76]
jmp dword [ebx*4 + 0x446fdc]
push esi
call fcn.00409a10
add esp, 4
push esi
call fcn.00409a10
add esp, 4
jmp dword [0x446fb4]
mov eax, dword [case.0x421340.17]
nop
nop
nop
nop
jmp eax
xor eax, eax
jmp 0x421de3
add eax, 0x26
push eax
call fcn.00409a00
add esp, 4
mov esi, eax
mov dword [esp + 0x28], 0xec88ee93
mov dword [esp + 0x2c], 0x10831282
mov dword [esp + 0x30], 0x147a167d
mov dword [esp + 0x34], 0x18651a72
mov dword [esp + 0x38], 0x1c8c1e7a
mov dword [esp + 0x3c], 0x6b0291
mov dword [esp + 0x40], 0x46c0668
mov dword [esp + 0x44], 0x8930a59
mov dword [esp + 0x48], 0xc670e6b
mov word [esp + 0x4c], 0x3233
mov dword [esp + 0x4e], 0
mov byte [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2a
ja 0x42144e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x9c8f737c
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x6d
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2b
jb 0x421420
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x421471
lea edx, [edi + 2]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421460
mov word [eax], 0
movzx ecx, word [esp + 0x28]
test cx, cx
je 0x4214a1
lea edx, [esp + 0x2a]
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 0x421490
mov word [eax], 0
jmp dword [0x447004]
push edi
call fcn.00409a10
add esp, 4
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x44700c]
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x44700c]
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x8c], esi
push esi
call fcn.0043eec0
add esp, 0x14
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x447024]
jmp dword [0x4470c4]
push dword [esp + 0x7c]
call fcn.00409a10
add esp, 4
xor ecx, ecx
cmp ebx, ebp
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x4470cc]
jmp dword [0x447018]
mov dword [esp + 0x28], 0x9b429953
mov dword [esp + 0x2c], 0x8729853e
mov dword [esp + 0x30], 0x83168117
mov dword [esp + 0x34], 0x8f278d2c
mov dword [esp + 0x38], 0x8b2c8927
mov dword [esp + 0x3c], 0x77e57527
mov dword [esp + 0x40], 0x73de71e0
mov dword [esp + 0x44], 0x7fd57dd9
mov dword [esp + 0x48], 0x7be679a8
mov dword [esp + 0x4c], 0x67ca65d6
mov word [esp + 0x50], 0x6166
mov dword [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2d
ja 0x4215ce
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xac47d9eb
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x8b
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2e
jb 0x4215a0
lea eax, [esp + 0x28]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp case.0x421340.23
lea eax, [esp + 0x28]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp dword [0x447020]
mov dword [esp + 0x28], 0x9b429953
mov dword [esp + 0x2c], 0x8729853e
mov dword [esp + 0x30], 0x83168117
mov dword [esp + 0x34], 0x8f278d2c
mov dword [esp + 0x38], 0x8b2c8927
mov dword [esp + 0x3c], 0x77e57527
mov dword [esp + 0x40], 0x73de71e0
mov dword [esp + 0x44], 0x7fd57dd9
mov dword [esp + 0x48], 0x7be679a8
mov dword [esp + 0x4c], 0x67ca65d6
mov word [esp + 0x50], 0x6166
mov dword [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2d
ja 0x4215e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xac47d9eb
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x8b
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2e
jb 0x421670
jmp 0x4215e0
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x24]
call fcn.0043f240
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44702c]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.00409a00
add esp, 4
push 0
push esi
mov dword [esp + 0x94], eax
push eax
push dword [esp + 0x28]
call fcn.0043f320
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x447034]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x8c]
mov byte [edi + esi], 0
push 0x20
call fcn.00409a00
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x84], eax
mov ecx, eax
push esi
push edi
call fcn.004242a0
movzx eax, al
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x44703c]
mov esi, dword [esp + 0x84]
jmp dword [0x447044]
xor ecx, ecx
cmp ebx, ebp
sete cl
xor eax, eax
jmp dword [ecx*4 + 0x4470cc]
mov eax, ebp
sub eax, ebx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00409a00
add esp, 4
mov edi, eax
mov eax, dword [0x44ab88]
mov dword [esp + 0x28], 0xe65de086
mov dword [esp + 0x2c], 0xda42e474
mov dword [esp + 0x30], 0xde45d87a
mov dword [esp + 0x34], 0xd24ddc9e
mov dword [esp + 0x38], 0xd695d043
mov dword [esp + 0x3c], 0xca41d476
mov dword [esp + 0x40], 0xceacc86a
mov dword [esp + 0x44], 0xc27acc63
mov dword [esp + 0x48], 0xc664c057
mov dword [esp + 0x4c], 0x3a58c466
mov dword [esp + 0x50], 0x3ea53897
mov dword [esp + 0x54], 0x329a3cac
mov dword [esp + 0x58], 0x36ad3092
mov dword [esp + 0x5c], 0x2abf3465
mov dword [esp + 0x60], 0x2eb3288f
mov word [esp + 0x64], 0x2c2f
mov dword [esp + 0x66], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x421887
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add esi, 0xd64cf1d9
add ecx, 0xd64cf1d9
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xc6
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x421840
lea ecx, [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x1c]
test esi, esi
jns 0x4218aa
mov eax, 0xffffffff
jmp 0x4218ad
lea eax, [esi + esi]
push eax
call fcn.00409a00
add esp, 4
mov dword [esp + 0x88], eax
mov eax, dword [0x44ab88]
mov dword [esp + 0x28], 0x99ca9ff3
mov dword [esp + 0x2c], 0xe5379b29
mov dword [esp + 0x30], 0xe152e747
mov dword [esp + 0x34], 0xed52e3a3
mov dword [esp + 0x38], 0xe9a2ef5c
mov dword [esp + 0x3c], 0xf556eb4b
mov dword [esp + 0x40], 0xf199f757
mov dword [esp + 0x44], 0xfdaff354
mov dword [esp + 0x48], 0xf951ff40
mov dword [esp + 0x4c], 0xc54dfb5b
mov dword [esp + 0x50], 0xc172c760
mov dword [esp + 0x54], 0xcd6fc371
mov dword [esp + 0x58], 0xc97acf6f
mov dword [esp + 0x5c], 0xd574cbbe
mov dword [esp + 0x60], 0xd178d778
mov word [esp + 0x64], 0xd3d0
mov dword [esp + 0x66], 0
mov word [esp + 0x6a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x421990
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0x28ec9ab9
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xdb
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x421960
lea ecx, [esp + 0x1c]
push ecx
push esi
mov esi, dword [esp + 0x90]
push esi
push 0x1e
lea ecx, [esp + 0x38]
push ecx
push 0
call eax
lea eax, [esp + 0x80]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0043eec0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4470d4]
xor eax, eax
mov edx, dword [case.0x4219c8.65]
mov ecx, edi
jmp case.0x4219c8.62
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x88]
call fcn.0043f240
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], edi
jmp dword [eax*4 + 0x4470dc]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.00409a00
add esp, 4
push 0
push esi
mov dword [esp + 0x8c], eax
push eax
push dword [esp + 0x8c]
call fcn.0043f320
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov dword [esp + 0x10], edi
jmp dword [eax*4 + 0x4470e4]
mov esi, dword [esp + 0x94]
mov eax, dword [esp + 0x84]
mov byte [eax + esi], 0
push 0x20
call fcn.00409a00
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x98], eax
mov ecx, eax
push esi
push dword [esp + 0x88]
call fcn.004242a0
movzx eax, al
xor edx, edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x10], edi
jmp dword [eax*4 + 0x4470ec]
mov dword [esp + 0x28], 0xfb84fa9f
mov dword [esp + 0x2c], 0xf6848cf7
mov dword [esp + 0x30], 0xfbf7ebc3
mov dword [esp + 0x34], 0xecc9f08e
mov dword [esp + 0x38], 0xf2fffc8c
mov dword [esp + 0x3c], 0x9191dacf
mov dword [esp + 0x40], 0x93e1e492
mov dword [esp + 0x44], 0xe3ede4c3
mov word [esp + 0x48], 0x9ed
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x26
ja 0x421b5b
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + ecx]
add edx, 0x947d4a3a
add eax, 0x947d4a3a
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0xae
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x27
jb case.default.0x421b7d
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x28]
push eax
call fcn.00424490
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x10], edx
xor edx, edx
jmp dword [ecx*4 + 0x4470f4]
mov edi, dword [esp + 0x7c]
jmp dword [0x4471ac]
mov esi, edi
mov edi, dword [esp + 0x98]
mov ecx, edi
mov dword [esp + 0x18], edx
call fcn.00424610
push edi
mov edi, esi
call fcn.00409a10
mov edx, dword [esp + 0x1c]
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4471bc]
mov dword [esp + 0x18], edx
jmp dword [0x4471c4]
push dword [esp + 0x84]
call fcn.00409a10
add esp, 4
mov dword [esp + 0x7c], edi
mov eax, dword [esp + 0x80]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x421c4c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea esi, [ecx + 0x48]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xae9a1a48
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xeb
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x421c10
mov ecx, dword [0x44ab8c]
test ecx, ecx
je 0x421c9a
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44ab90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x421c80
inc esi
cmp ecx, esi
jne 0x421c70
jmp 0x421c9a
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x421c9a
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
mov edx, dword [case.0x4219c8.65]
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
nop
nop
nop
nop
jmp edx
jmp dword [0x4471dc]
push dword [esp + 0x88]
mov esi, ecx
mov dword [esp + 0x24], ebx
mov ebx, edi
mov edi, eax
call fcn.00409a10
mov eax, edi
mov edi, ebx
mov ebx, dword [esp + 0x24]
mov ecx, esi
add esp, 4
mov edx, eax
and dl, 1
movzx edx, dl
jmp dword [edx*4 + 0x4471f4]
mov byte [ecx], 0
mov dword [esp + 0x28], 0x90e0f5f
mov dword [esp + 0x2c], 0x535360b
mov dword [esp + 0x30], 0x1814160f
mov dword [esp + 0x34], 0x2a1e3e55
mov dword [esp + 0x38], 0x315f1c2f
mov dword [esp + 0x3c], 0x1b211e1d
mov dword [esp + 0x40], 0xedeaa515
mov dword [esp + 0x44], 0x73e8
mov byte [esp + 0x48], 0
sub ecx, edi
mov edx, ecx
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x20
ja 0x421d7e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xbdca5a67
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x21
jb 0x421d50
mov ecx, dword [esp + 0xb0]
push edx
push edi
lea eax, [esp + 0x30]
push eax
call fcn.0040a400
jmp dword [0x4471fc]
push edi
mov esi, eax
call fcn.00409a10
mov eax, esi
add esp, 4
and al, 1
mov ecx, dword [case.0x421340.69]
nop
nop
nop
nop
jmp ecx
test ebx, ebx
je 0x421de3
cmp ebx, ebp
je 0x421de3
mov edi, eax
mov esi, ebx
jmp 0x421dc7
add esi, 8
cmp esi, ebp
je 0x421dd8
mov eax, dword [esi]
test eax, eax
je 0x421dc0
push eax
call fcn.00409a10
add esp, 4
jmp 0x421dc0
push ebx
call fcn.00409a10
add esp, 4
mov eax, edi
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, eax
and dl, 1
movzx edx, dl
jmp dword [edx*4 + 0x4471f4]
jmp dword [0x4471fc]
add eax, 8
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], ecx
xor edx, edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], ebp
jmp dword [eax*4 + 0x4470fc]
mov esi, dword [esp + 0x90]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4470fc]
mov eax, dword [esi]
cmp dword [esi + 0x18], 3
mov dword [esp + 0x90], esi
mov dword [esp + 0x24], eax
jne case.default.0x421e67
mov edi, dword [esi + 0x10]
test eax, eax
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447104]
test eax, eax
setne al
xor ecx, ecx
test ecx, ecx
setne cl
and cl, al
movzx eax, cl
xor edi, edi
jmp dword [eax*4 + 0x447104]
mov dword [esp + 0x18], edx
mov ecx, edi
jmp dword [0x44710c]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax], 0
lea eax, [eax + 1]
jne 0x421ea0
mov ecx, edi
nop
nop
nop
nop
nop
nop
mov ebx, ecx
inc ecx
cmp byte [ebx], 0
jne case.0x421e81.2
sub ebx, edi
inc ebx
shr ebx, 1
lea eax, [ebx + 1]
push eax
call fcn.00409a00
add esp, 4
mov ecx, edi
jmp dword [0x447114]
mov ebp, eax
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x8c], eax
jmp dword [ecx*4 + 0x44711c]
inc edi
mov byte [ebp], cl
inc ebp
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44711c]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x421f13
mov ecx, 0xffffffff
not edx
and edx, 0xffffffdf
lea esi, [edx + 0x67]
cmp esi, 6
jae case.default.0x421f32
mov ecx, 0xffffffa8
sub ecx, edx
movsx edx, byte [edi + 1]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x447124]
lea eax, [edx - 0x30]
cmp eax, 0xa
jb 0x421f46
mov eax, 0xffffffff
not edx
and edx, 0xffffffdf
lea esi, [edx + 0x67]
cmp esi, 6
jae case.default.0x421f70
mov eax, 0xffffffa8
sub eax, edx
shl ecx, 4
or ecx, eax
add edi, 2
mov byte [ebp], cl
inc ebp
movsx edx, byte [edi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44711c]
jmp dword [0x447130]
mov byte [ebp], 0
jmp dword [0x447138]
mov byte [ebp], 0
mov byte [ebp], 0
jmp dword [0x447138]
mov esi, dword [esp + 0x24]
jmp dword [0x44713c]
push 0
push 0x10
push 0
push esi
call fcn.004246b0
add esp, 0x10
nop
nop
push 0
push 0x10
push 0
push esi
call fcn.004246b0
add esp, 0x10
jmp dword [0x447148]
mov ebp, eax
mov eax, dword [case.0x421b7d.24]
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x24], 0
xor eax, eax
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x14]
setne al
jmp dword [eax*4 + 0x44715c]
mov eax, dword [edi]
mov dword [esp + 0x24], eax
xor eax, eax
jmp dword [eax*4 + 0x44717c]
add edi, 8
xor eax, eax
cmp edi, dword [esp + 0x14]
setne al
jmp dword [eax*4 + 0x44715c]
mov eax, dword [edi + 4]
mov esi, eax
shr esi, 0x1c
shl eax, 4
or eax, 1
xor esi, edx
xor eax, ebp
xor ecx, ecx
or eax, esi
sete cl
jmp dword [ecx*4 + 0x447174]
mov eax, 1
jmp dword [eax*4 + 0x44717c]
xor eax, eax
mov esi, dword [esp + 0x24]
test esi, esi
setne al
jmp dword [eax*4 + 0x447184]
mov eax, dword [case.0x4219c8.51]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
jmp 0x4220e6
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2c], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4220da
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44ab98]
call fcn.0043e3f0
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x40]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
jmp dword [ecx*4 + 0x44718c]
mov eax, dword [case.0x4219c8.51]
mov edx, dword [esp + 0x18]
jmp case.0x4219c8.48
movzx eax, byte [esi]
test al, al
je 0x42210d
inc esi
mov edi, dword [esp + 0x10]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x422100
jmp 0x422111
mov edi, dword [esp + 0x10]
mov word [edi], 0x203a
add edi, 2
mov edx, dword [esp]
test edx, edx
je 0x4221a9
mov dword [esp + 0x10], edi
mov eax, dword [esp + 4]
mov ecx, edx
and ecx, 3
je 0x422163
xor edi, edi
mov esi, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [esi + edi], bl
inc edi
cmp ecx, edi
jne 0x422140
add esi, edi
mov ecx, edx
sub ecx, edi
mov dword [esp + 0x10], esi
mov edi, esi
mov ebx, dword [esp + 0x20]
jmp 0x422165
mov ecx, edx
cmp edx, 4
mov esi, dword [esp + 0x10]
jb 0x4221a9
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [esi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea edi, [esi + 4]
mov byte [esi + 3], dl
mov esi, edi
add ecx, 0xfffffffc
jne 0x422170
mov byte [edi], 0xa
inc edi
push 0xe050b307
push dword [0x44ab80]
call fcn.0043e3f0
add esp, 8
push dword [esp + 4]
call eax
mov dl, 1
mov eax, dword [case.0x4219c8.51]
mov dword [esp + 0x10], edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x4471a4]
push dword [esp + 0x8c]
mov esi, edx
call fcn.00409a10
mov edx, esi
add esp, 4
mov esi, dword [esp + 0x90]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4470fc]
mov dword [esp + 0x28], 0xfcc1f9d2
mov dword [esp + 0x2c], 0xc9f9cff2
mov dword [esp + 0x30], 0xfcf2e8be
mov dword [esp + 0x34], 0xe384f3cb
mov dword [esp + 0x38], 0xf5faffc1
mov dword [esp + 0x3c], 0xfbf89f8a
mov dword [esp + 0x40], 0xd4d1d7ce
mov word [esp + 0x44], 0x46d6
mov dword [esp + 0x46], 0
mov byte [esp + 0x4a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x22
ja 0x4222aa
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + 0x97]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x902a5497
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xe
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x23
jb 0x422270
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.00424490
mov dword [esp + 0x28], 0xfcc1f9d2
mov dword [esp + 0x2c], 0xc9f9cff2
mov dword [esp + 0x30], 0xfcf2e8be
mov dword [esp + 0x34], 0xe384f3cb
mov dword [esp + 0x38], 0xf5faffc1
mov dword [esp + 0x3c], 0xfbf89f8a
mov dword [esp + 0x40], 0xd4d1d7ce
mov word [esp + 0x44], 0x46d6
mov dword [esp + 0x46], 0
mov byte [esp + 0x4a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x22
ja 0x42235a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + 0x97]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x902a5497
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xe
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x23
jb 0x422320
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.00424490
jmp dword [0x447050]
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
xor ebx, ebx
jmp dword [ecx*4 + 0x447054]
add eax, 8
xor esi, esi
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
xor ebp, ebp
mov dword [esp + 0x18], 0
xor ebx, ebx
jmp dword [eax*4 + 0x44705c]
xor eax, eax
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x88]
jmp 0x42257f
mov dword [esp + 0x14], ebp
mov ebp, dword [edx]
mov eax, dword [esp + 0x14]
mov edi, eax
sub edi, esi
mov ecx, dword [esp + 0x18]
cmp eax, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x88], edi
je 0x4223e5
mov ebx, esi
jmp 0x42245d
mov eax, edi
sar eax, 3
inc eax
sub ecx, esi
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x4223fc
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.00409a00
add esp, 4
mov ebx, eax
test esi, esi
je 0x42244b
mov edx, dword [esp + 0x18]
cmp esi, edx
je 0x422442
xor eax, eax
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x422420
push esi
call fcn.00409a10
add esp, 4
lea ecx, [ebx + edi*8]
mov eax, ebx
mov edi, dword [esp + 0x88]
add eax, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [ebx + edi], 0
mov dword [esp + 0x20], ebx
mov dword [ebx + edi + 4], 0
mov ebx, 0xffffffff
mov eax, 0xfffffffe
xor ecx, ecx
mov esi, ecx
add eax, 2
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
lea ecx, [ecx + 1]
jne 0x422480
and eax, 2
mov ecx, ebx
xor ecx, 1
add ecx, eax
mov dword [esp + 0x90], ecx
push ecx
call fcn.00409a00
add esp, 4
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [eax + edi], ecx
mov eax, dword [esp + 0x90]
mov ecx, eax
shr ecx, 2
mov edx, ebp
mov edi, dword [esp + 0x24]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, eax
and edx, 0xfffffffc
mov edi, dword [esp + 0x24]
add edi, edx
add edx, ebp
shr eax, 1
and eax, 1
mov ecx, eax
mov eax, edx
mov dword [esp + 0x24], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x42250d
mov eax, ebx
and eax, 2
movzx ecx, byte [edx + eax]
mov edx, dword [esp + 0x24]
mov byte [edx + eax], cl
test ebx, ebx
je 0x42239f
cmp ebx, 1
mov edi, dword [esp + 0x88]
jne 0x422520
mov eax, 0xffffffff
jmp 0x42255c
and esi, 0xfffffffe
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
shr eax, 8
xor cl, byte [ebp + 1]
add ebp, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4425c0]
add esi, 0xfffffffe
jne 0x422530
mov edx, dword [esp + 0x10]
test bl, 1
je 0x422579
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
not eax
mov ebx, dword [esp + 0x20]
mov dword [ebx + edi + 4], eax
mov ebp, dword [esp + 0x14]
add ebp, 8
add edx, 4
mov eax, dword [case.0x421340.48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
mov esi, ebx
jmp dword [eax*4 + 0x44705c]
jmp dword [0x447070]
mov eax, dword [case.0x421340.32]
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x84]
jmp dword [0x447094]
mov ecx, esi
call fcn.00424610
push esi
call fcn.00409a10
add esp, 4
jmp dword [0x44709c]
jmp dword [0x44709c]
push dword [esp + 0x8c]
call fcn.00409a10
add esp, 4
mov eax, dword [case.0x421340.28]
nop
jmp eax
jmp dword [0x4470b8]
mov eax, dword [esp + 0x1c]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x42267c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea esi, [ecx + 0x48]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xae9a1a48
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xeb
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x422640
mov ecx, dword [0x44ab8c]
test ecx, ecx
je case.0x421340.63
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44ab90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4226b0
inc esi
cmp ecx, esi
jne 0x4226a0
jmp case.0x421340.63
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x421340.63
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
jmp case.0x421340.63
jmp dword [0x4470bc]
mov eax, dword [esp + 0x1c]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x42273c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea esi, [ecx + 0x48]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xae9a1a48
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xeb
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x422700
mov ecx, dword [0x44ab8c]
test ecx, ecx
je 0x4226d0
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44ab90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x422780
inc esi
cmp ecx, esi
jne 0x422760
jmp 0x4226d0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x4226d0
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
jmp dword [0x4470bc]
jmp dword [0x44722c]
push dword [esp + 0x4c]
call fcn.00409a10
add esp, 4
mov eax, dword [esp + 0x74]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xb0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x447224]
mov dword [esp + 0xb0], ecx
mov esi, dword [esp + ecx + 0x84]
mov edi, 0xfffffffe
nop
nop
nop
nop
cmp word [esi + edi + 2], 0
lea edi, [edi + 2]
jne 0x422c00
mov edx, edi
sar edx, 1
mov eax, dword [esp + 0x80]
lea ecx, [edx + eax]
add ecx, 0xd
test ecx, ecx
mov dword [esp + 0x78], edx
jns 0x422c30
mov eax, 0xffffffff
jmp 0x422c39
add eax, edx
lea eax, [eax*2 + 0x1a]
push eax
call fcn.00409a00
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x422c71
mov edx, dword [esp + 0x94]
mov eax, ebx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422c60
mov word [eax], 0x5c
mov dword [esp + 0x14], 0x48ff4ae9
mov dword [esp + 0x18], 0x349836da
mov dword [esp + 0x1c], 0x30a73294
mov dword [esp + 0x20], 0x3c803ed1
mov dword [esp + 0x24], 0x389a3aa1
mov dword [esp + 0x28], 0x248a26a5
mov word [esp + 0x2c], 0x2225
mov word [ebp + 0x1e], 0
mov dword [ebp + 0x1a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1f
ja 0x422d00
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0xb2a9ff3b
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x8a
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x20
jb 0x422cd0
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x422d21
lea edx, [esi + 2]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422d10
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x422d51
lea edx, [esp + 0x16]
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 0x422d40
mov word [eax], 0
lea eax, [esp + 0x70]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0xbc], ebx
push ebx
call fcn.0043eec0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0x10], 0
jmp dword [eax*4 + 0x447234]
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0x78]
call fcn.0043f240
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44723c]
mov ebx, dword [esp + 0x9c]
lea eax, [ebx + 1]
push eax
call fcn.00409a00
add esp, 4
mov ebp, eax
push 0
push ebx
push eax
push dword [esp + 0x7c]
call fcn.0043f320
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447244]
mov eax, dword [esp + 0x9c]
mov byte [ebp + eax], 0
push ebp
call fcn.004029a0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x10], 0
jmp dword [ecx*4 + 0x44724c]
mov dword [esp + 0x90], eax
push eax
call fcn.004032c0
add esp, 4
mov dword [esp + 0x14], 0xa9a4474a
mov dword [esp + 0x18], 0xbcb1bdb5
mov dword [esp + 0x1c], 0xa1bbad75
mov dword [esp + 0x20], 0xb4b9b5bd
mov dword [esp + 0x24], 0xa1b4a6a4
mov dword [esp + 0x28], 0x51adb8
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x17
ja 0x422e90
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0x2a4f007e
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x3b
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x18
jb 0x422e60
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.00403400
add esp, 8
mov ebx, eax
mov dword [esp + 0xa8], ebp
mov edx, 0xffffffff
nop
nop
nop
nop
mov eax, edx
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x422eb0
mov eax, edx
and eax, 0xfffffffc
mov ecx, edx
and ecx, 3
mov ebp, edx
or ebp, 3
imul ebp, ecx
xor ecx, 3
imul ecx, eax
add ebp, ecx
shr ebp, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x422ee8
cmp eax, 0x2e
jne 0x422ee9
dec ebp
mov dword [esp + 0xa0], esi
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x6c], edx
je 0x422f03
cmp eax, 0x2e
jne 0x422f04
dec ebp
mov dword [esp + 0xa4], ebp
lea eax, [ebp + 1]
push eax
call fcn.00409a00
add esp, 4
mov dword [esp + 0x50], eax
cmp dword [esp + 0x6c], 0
je 0x423025
xor esi, esi
mov ebp, 2
mov dword [esp + 0x7c], ebx
jmp 0x422f58
lea eax, [ebp + 4]
add ebp, 2
mov esi, dword [esp + 0x10]
cmp ebp, edx
mov ebp, eax
mov ebx, dword [esp + 0x7c]
jae 0x423025
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00415fc0
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + ebp - 1]
push eax
call fcn.00415fc0
mov edx, dword [esp + 0x70]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [esi + 1]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov byte [ecx + esi], al
cmp ebp, edx
jae 0x422f40
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + ebp]
push eax
call fcn.00415fc0
mov edx, dword [esp + 0x70]
add esp, 4
cmp al, 0x40
je 0x422f40
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [esp + 0x98]
lea ecx, [esi + 2]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x50]
mov byte [ecx + esi + 1], al
lea eax, [ebp + 1]
cmp eax, edx
jae 0x422f40
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00415fc0
mov edx, dword [esp + 0x70]
add esp, 4
cmp al, 0x40
je 0x422f40
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x98]
mov byte [ecx + esi + 2], al
add esi, 3
mov dword [esp + 0x10], esi
jmp 0x422f40
mov eax, dword [esp + 0xa4]
add eax, 0xfffffffb
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
add eax, 5
mov dword [esp + 0xc], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44ab98]
call fcn.0043e3f0
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xa0]
jmp dword [ecx*4 + 0x447254]
mov dword [esp + 0x10], 0
jmp dword [0x447274]
mov ebx, dword [esp + 0x90]
jmp dword [0x44727c]
cmp dword [esp + 0x78], 0xfffffff8
jge 0x4230b9
mov eax, 0xffffffff
jmp 0x4230bc
lea eax, [edi + 0x10]
push eax
call fcn.00409a00
add esp, 4
mov ebx, eax
mov dword [esp + 0x14], 0x892287d5
mov dword [esp + 0x18], 0x8de48b18
mov dword [esp + 0x1c], 0xf1168f18
mov dword [esp + 0x20], 0xf5f2f364
lea eax, [esp + 0x24]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0x48]
cmp eax, 0x12
ja 0x423149
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0x8cedc435
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x4f
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0x48]
mov eax, dword [esp + 0x48]
cmp eax, 0x13
jb 0x423110
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x423171
lea edx, [esi + 2]
mov eax, ebx
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 0x423160
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x4231a1
lea edx, [esp + 0x16]
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 0x423190
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push ebx
call fcn.0040a260
mov dword [esp + 0x10], eax
jmp dword [0x44725c]
jmp dword [0x447264]
cmp dword [ebx + ebp*8], 0x625b6034
je 0x4231e0
inc ebp
cmp ecx, ebp
jne 0x4231d0
jmp case.0x421340.190
mov ecx, dword [ebx + ebp*8 + 4]
cmp ecx, edx
je case.0x421340.190
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x70]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x42325c
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea ebx, [ecx + 0x48]
and ebx, edx
add ecx, edx
add ebx, ebx
sub ecx, ebx
add ecx, 0xae9a1a48
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0xeb
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x423220
mov ecx, dword [0x44ab8c]
test ecx, ecx
je 0x4232a0
mov edx, dword [esp]
xor ebp, ebp
mov ebx, dword [0x44ab90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + ebp*8], 0x625b6034
je 0x423290
inc ebp
cmp ecx, ebp
jne 0x423280
jmp 0x4232a0
mov ecx, dword [ebx + ebp*8 + 4]
cmp ecx, edx
jne 0x4235f6
nop
nop
nop
nop
jmp dword [0x4472bc]
movzx ebx, byte [esp + 0x10]
jmp dword [0x4472c4]
push dword [esp + 0xac]
call fcn.00409a10
add esp, 4
lea ebp, [esp + 0x14]
jmp dword [ebx*4 + 0x4472cc]
lea ebp, [esp + 0x14]
jmp dword [ebx*4 + 0x4472cc]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x78]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x423300
mov eax, 0xffffffff
jmp 0x423309
add eax, edx
lea eax, [eax*2 + 0x2e]
push eax
call fcn.00409a00
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x423341
mov edx, dword [esp + 0x94]
mov eax, ebx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423330
mov word [eax], 0x5c
mov dword [esp + 0x14], 0x196c1b7e
mov dword [esp + 0x18], 0x158b1785
mov dword [esp + 0x1c], 0x11841373
mov dword [esp + 0x20], 0xd630f2e
mov dword [esp + 0x24], 0x99b0b86
mov dword [esp + 0x28], 0x5650788
mov dword [esp + 0x2c], 0x19d0399
mov dword [esp + 0x30], 0x3da83f5a
mov dword [esp + 0x34], 0x39b23ba7
mov dword [esp + 0x38], 0x35a037ab
mov dword [esp + 0x3c], 0x31ae33ae
mov word [esp + 0x40], 0x2f2e
mov word [ebp + 0x32], 0
mov dword [ebp + 0x2e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x33
ja 0x423400
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0xf7c41a84
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x62
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x34
jb 0x4233d0
add eax, 2
movzx ecx, word [esi]
test cx, cx
je 0x423421
lea edx, [esi + 2]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423410
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x423451
lea edx, [esp + 0x16]
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 0x423440
mov word [eax], 0
cmp dword [esp + 0x78], 0xfffffff7
jge 0x423470
mov edi, 0xffffffff
jmp 0x423473
add edi, 0x12
push edi
call fcn.00409a00
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x36ad3060
mov dword [esp + 0x18], 0x2abf3492
mov dword [esp + 0x1c], 0x2eb5288e
mov dword [esp + 0x20], 0x228b2c8b
mov word [esp + 0x24], 0x2023
mov byte [ebp + 0x14], 0
mov word [ebp + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x14
ja 0x4234ee
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0xd3220309
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xc6
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x15
jb 0x4234c0
movzx ecx, word [esi]
mov eax, edi
test cx, cx
je 0x423511
add esi, 2
mov eax, edi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x423500
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x423541
lea edx, [esp + 0x16]
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 0x423530
mov word [eax], 0
mov dword [esp + 0x14], 0x77747598
mov dword [esp + 0x18], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x42359e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0x8d9e7103
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x8f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x423570
push 0
push 0
push 0
push 0xc00000
push ebp
push ebx
push edi
push dword [esp + 0x114]
call fcn.0041a330
add esp, 0x20
mov ecx, dword [esp + 0x74]
and cl, 1
or cl, al
mov dword [esp + 0x74], ecx
jmp dword [0x4472d4]
push edi
call fcn.00409a10
add esp, 4
jmp dword [0x4472dc]
jmp dword [0x4472dc]
push ebx
call fcn.00409a10
add esp, 4
nop
jmp dword [0x4472ec]
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
jmp dword [0x4472bc]
push dword [esp + 0x50]
call fcn.00409a10
add esp, 4
mov ebx, dword [esp + 0x90]
jmp dword [0x44727c]
push ebx
call fcn.00409a10
add esp, 4
push ebx
call fcn.00409a10
add esp, 4
jmp dword [0x447270]
push 0xe050b307
push dword [0x44ab80]
call fcn.0043e3f0
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x447274]
jmp dword [0x44729c]
jmp dword [0x4472a4]
push ebx
call fcn.00403530
add esp, 4
push ebx
call fcn.00403530
add esp, 4
jmp dword [0x447288]
mov eax, dword [case.0x421340.162]
mov ebx, dword [esp + 0x10]
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x70]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x4236fc
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
lea ebx, [ecx + 0x48]
and ebx, edx
add ecx, edx
add ebx, ebx
sub ecx, ebx
add ecx, 0xae9a1a48
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0xeb
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x4236c0
mov ecx, dword [0x44ab8c]
test ecx, ecx
je case.0x421340.190
mov edx, dword [esp]
xor ebp, ebp
mov ebx, dword [0x44ab90]
jmp 0x4231d0
push ebp
call fcn.00409a10
add esp, 4
push ebp
call fcn.00409a10
add esp, 4
jmp dword [0x4472ac]
mov dword [esp + 0x10], ebx
jmp dword [0x4472b4]
int3
jmp dword [0x44741c]
jmp dword [0x447424]
push ebp
call fcn.00409a10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.00409a10
add esp, 4
jmp dword [0x447430]
jmp dword [0x447438]
lea eax, [esp + 0x74]
push 0
push eax
push dword [esp + 0x2c]
call fcn.0043f240
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4472fc]
mov dword [esp + 0x78], ebp
mov esi, dword [esp + 0x74]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.00409a00
add esp, 4
mov ebx, eax
mov edi, dword [esp + 0x24]
jmp dword [0x447308]
push 0
push esi
push ebx
push edi
call fcn.0043f320
add esp, 0x10
nop
nop
nop
push 0
push esi
push ebx
push edi
call fcn.0043f320
add esp, 0x10
jmp dword [0x44730c]
mov dword [esp + 0x70], ebx
not eax
shr eax, 0x1f
mov dword [esp + 0x20], 0
jmp dword [eax*4 + 0x447324]
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x20]
jmp dword [0x447404]
push dword [esp + 0x70]
call fcn.00409a10
add esp, 4
jmp dword [0x447410]
jmp dword [0x447410]
mov eax, dword [esp + 0x24]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x423a9c
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
lea esi, [ecx + 0x48]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xae9a1a48
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xeb
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x423a60
mov ecx, dword [0x44ab8c]
test ecx, ecx
je case.0x421340.277
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44ab90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x424194
inc esi
cmp ecx, esi
jne 0x423ac0
jmp case.0x421340.277
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov byte [edi + eax], 0
mov dword [esp + 0x20], 0
nop
nop
nop
nop
nop
mov dword [esp + 0x28], 0x5e5a585a
mov dword [esp + 0x2c], 0x42495c56
mov word [esp + 0x30], 0x193b
mov byte [esp + 0x32], 0xfe
mov dword [esp + 0x33], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xe
lea ebx, [esp + 0x28]
ja 0x423b5e
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x5e1e0f8b
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x95
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x423b30
movzx ecx, byte [esp + 0x28]
test cl, cl
je 0x423ba0
mov eax, ebx
mov ebp, edi
jmp 0x423b77
movzx ecx, byte [eax]
test cl, cl
je 0x423bb2
movzx edx, byte [edi]
test dl, dl
je 0x423bb0
inc edi
inc eax
lea esi, [ebp + 1]
cmp dl, cl
je 0x423b8b
mov ebp, esi
mov edi, esi
je 0x423b70
mov eax, ebx
jmp 0x423b70
mov ebp, edi
jmp 0x423bb2
xor ebp, ebp
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x44732c]
jmp dword [0x447340]
lea edi, [ebp + 0xa]
movzx eax, byte [ebp + 0xa]
xor ebx, ebx
test al, al
je 0x423bc0
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x423bf0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x423be0
jmp 0x423bc0
mov ebx, ecx
jmp dword [0x447340]
mov esi, ebx
sub esi, edi
xor eax, eax
cmp esi, 5
setb al
jmp dword [eax*4 + 0x447344]
xor eax, eax
cmp byte [ebx - 1], 0x74
setne al
jmp dword [eax*4 + 0x44735c]
xor eax, eax
cmp byte [ebx - 2], 0x78
setne al
jmp dword [eax*4 + 0x447364]
xor eax, eax
cmp byte [ebx - 3], 0x74
setne al
jmp dword [eax*4 + 0x44736c]
xor eax, eax
cmp byte [ebx - 4], 0x2e
setne al
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x447374]
jmp dword [0x44737c]
mov dword [esp + 0x18], esi
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4473bc]
xor ecx, ecx
mov eax, dword [esp + 8]
jmp 0x423c78
add eax, 2
test dx, dx
je 0x423c89
mov esi, ecx
movzx edx, word [eax]
mov ecx, eax
cmp dx, 0x5c
je 0x423c70
mov ecx, esi
jmp 0x423c70
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4473c4]
xor esi, esi
xor eax, eax
jmp 0x423caa
sub esi, dword [esp + 8]
sar esi, 1
inc esi
mov eax, dword [esp + 0x10]
sub eax, esi
add eax, 0x1b
push eax
call fcn.00409a00
add esp, 4
mov dword [esp + 0x14], eax
sub dword [esp + 0x10], esi
mov byte [esp + 0x28], 0x94
mov dword [esp + 0x29], 0x49494949
mov dword [esp + 0x2d], 0x574eba4a
mov dword [esp + 0x31], 0xabaf8be2
mov dword [esp + 0x35], 0xb99550ad
mov dword [esp + 0x39], 0x5fa35d5b
mov dword [esp + 0x3d], 0xdee1a9a9
mov word [esp + 0x41], 0xf1a3
lea eax, [esp + 0x43]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0xc], esi
lea eax, [edi + esi]
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1d
ja 0x423d50
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0x9d9ee3c8
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xed
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1e
jb 0x423d20
movzx edx, byte [esp + 0x28]
mov ecx, dword [esp + 0x14]
test dl, dl
je 0x423d7b
lea esi, [esp + 0x29]
mov ecx, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x423d70
mov byte [ecx], 0
mov esi, dword [esp + 0x10]
test esi, esi
je 0x423dc5
mov edx, dword [esp + 0xc]
add edx, ebp
sub ebx, edx
add ebx, 0xfffffff5
and esi, 3
je 0x423dc9
xor edx, edx
mov ebp, ecx
movzx ecx, byte [eax]
mov byte [esp + 0xc], cl
cmp byte [esp + 0xc], 1
sbb eax, 0xffffffff
movzx ecx, byte [esp + 0xc]
mov byte [ebp + edx], cl
mov ecx, ebp
inc edx
cmp esi, edx
jne 0x423d98
add ecx, edx
mov esi, dword [esp + 0x10]
sub esi, edx
mov edx, ecx
jmp 0x423dcd
mov edx, ecx
jmp 0x423e0b
mov esi, dword [esp + 0x10]
cmp ebx, 3
jb 0x423e0b
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ecx + 2], dl
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
lea edx, [ecx + 4]
mov byte [ecx + 3], bl
mov ecx, edx
add esi, 0xfffffffc
jne 0x423dd2
mov byte [edx], 0
mov ecx, dword [esp + 0x94]
push dword [esp + 0x6c]
push dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
push esi
call fcn.0040a400
mov ecx, dword [esp + 0x20]
and cl, 1
or cl, al
mov dword [esp + 0x20], ecx
jmp dword [0x4473cc]
push esi
call fcn.00409a10
add esp, 4
mov esi, dword [esp + 0x18]
jmp dword [0x4473d4]
mov esi, dword [esp + 0x18]
jmp dword [0x4473d4]
jmp dword [0x4473dc]
push esi
call fcn.00409a10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00409a10
add esp, 4
jmp dword [0x4473e8]
jmp dword [0x4473ac]
push edx
mov esi, edx
call fcn.00409a00
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x28]
call fcn.0043f320
mov edx, esi
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0xc], edx
push edx
call fcn.00409a00
add esp, 4
mov esi, eax
push 0
push dword [esp + 0x70]
push eax
push dword [esp + 0x28]
call fcn.0043f320
mov edx, dword [esp + 0x1c]
add esp, 0x10
jmp dword [0x4473b8]
jmp dword [0x4473ec]
mov eax, dword [esp + 0x1c]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x423f3c
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
lea esi, [ecx + 0x48]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xae9a1a48
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xeb
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x423f00
mov ecx, dword [0x44ab8c]
test ecx, ecx
je 0x423f78
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x44ab90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x423f70
inc esi
cmp ecx, esi
jne 0x423f60
jmp 0x423f78
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x423f96
jmp dword [0x4473ec]
push dword [esp + 8]
call fcn.00409a10
add esp, 4
nop
nop
nop
nop
nop
nop
jmp dword [0x447400]
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
jmp dword [0x4473ec]
push 0
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x24]
call fcn.0043f240
add esp, 0xc
mov edx, dword [esp + 0x6c]
test eax, eax
setns al
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4473a4]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44738c]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x423ff9
mov eax, 0xffffffff
push eax
call fcn.00409a00
add esp, 4
mov dword [esp + 8], eax
lea ecx, [eax + esi*2]
add ecx, 2
mov edx, ebx
test ebx, ebx
jne 0x42402b
lea eax, [ebp + 9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edx
jne 0x424020
mov dword [esp + 0x28], 0
add ecx, 0xfffffffe
mov eax, dword [esp + 8]
mov esi, eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
mov ecx, eax
jae 0x42409b
mov ecx, dword [esp + 8]
cmp edi, edx
jae 0x42409b
mov ecx, dword [esp + 8]
mov esi, edi
mov dword [esp + 0x14], edx
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x42409b
lea eax, [esp + 0x28]
push eax
push edx
push esi
mov dword [esp + 0x18], ecx
call fcn.0040d600
add esp, 0xc
movzx ecx, word [esp + 0x28]
mov edx, dword [esp + 0xc]
mov word [edx], cx
mov ecx, dword [esp + 0xc]
add ecx, 2
cmp ecx, dword [esp + 0x18]
jae 0x42409b
add esi, eax
mov edx, dword [esp + 0x14]
cmp esi, edx
jb 0x424060
mov word [ecx], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x18]
call fcn.0043eec0
add esp, 0x14
mov esi, dword [esp + 0x10]
mov eax, esi
inc eax
lea eax, [esi + esi + 2]
jns 0x4240cc
mov eax, 0xffffffff
push eax
call fcn.00409a00
add esp, 4
mov dword [esp + 8], eax
lea ecx, [eax + esi*2]
add ecx, 2
mov edx, ebx
test ebx, ebx
jne 0x4240fb
lea eax, [ebp + 9]
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edx
jne 0x4240f0
mov dword [esp + 0x28], 0
add ecx, 0xfffffffe
mov eax, dword [esp + 8]
mov esi, eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
mov ecx, eax
jae 0x42416b
mov ecx, dword [esp + 8]
cmp edi, edx
jae 0x42416b
mov ecx, dword [esp + 8]
mov esi, edi
mov dword [esp + 0x14], edx
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi], 0
je 0x42416b
lea eax, [esp + 0x28]
push eax
push edx
push esi
mov dword [esp + 0x18], ecx
call fcn.0040d600
add esp, 0xc
movzx ecx, word [esp + 0x28]
mov edx, dword [esp + 0xc]
mov word [edx], cx
mov ecx, dword [esp + 0xc]
add ecx, 2
cmp ecx, dword [esp + 0x18]
jae 0x42416b
add esi, eax
mov edx, dword [esp + 0x14]
cmp esi, edx
jb 0x424130
mov word [ecx], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x18]
call fcn.0043eec0
add esp, 0x14
mov esi, dword [esp + 0x10]
jmp dword [0x447388]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x421340.277
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
jmp case.0x421340.277
jmp dword [0x447414]
mov eax, dword [esp + 0x24]
mov dword [esp], 0x5f5e5d5c
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x42421c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx]
lea esi, [ecx + 0x48]
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0xae9a1a48
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add cl, 0xeb
mov edx, dword [esp + 4]
mov byte [esp + edx], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x4241e0
mov ecx, dword [0x44ab8c]
test ecx, ecx
je 0x4241b0
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x44ab90]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x424260
inc esi
cmp ecx, esi
jne 0x424240
jmp 0x4241b0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x4241b0
push eax
push 1
push dword [0x44ab94]
push ecx
call fcn.0043cc20
add esp, 0x10
jmp dword [0x447414]
jmp dword [0x44743c]
and bl, 1
mov eax, ebx
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
int3
adc al, byte [edx]
push eax
adc eax, dword [edx]
and byte [edx], dl
inc edx
add byte [ebx], dl
adc eax, dword [edx]
and byte [ebx], dl
inc edx
add byte [eax], ah
adc eax, dword [edx]
and byte [ebx], dl
inc edx
add byte [eax], ah
adc al, byte [edx]
ror byte [edi], 0x42
add byte [eax + 1996505615], dh
cmovb eax, dword [eax]
ror byte [edi], 0x42
add byte [ecx - 2030026225], cl
adc eax, dword [edx]
nop
adc eax, dword [edx]
nop
adc eax, dword [edx]
nop
adc eax, dword [edx]
xchg edx, eax
adc eax, dword [edx]
lodsb al, byte [esi]
adc al, 66
add ch, al
adc al, 0x42
add ch, dl
adc al, 0x42
add byte [0x2b004215], ah
adc eax, 0x15f40042
inc edx
add ah, dh
adc eax, 0x14d50042
inc edx
add byte [ebx], al
adc eax, 0x16a30042
inc edx
add byte [edx], dl
inc edx
add cl, cl
push ss
inc edx
add ch, dh
and eax, 0x17030042
inc edx
add dl, dl
and eax, 0x17660042
inc edx
add byte [esi + 0x15004222], dh
and al, byte [edx]
adc eax, 0x6c004222
and eax, dword [edx]
invalid
sbb dword [edx], eax
ficomp word [ecx]
inc edx
add bh, bl
sbb eax, dword [edx]
bndldx bnd0, [edx]
invalid
sbb eax, dword [edx]
add ebx, dword [esi]
inc edx
add byte [ebx + ebx + 0x1e420042], al
inc edx
add byte [eax], ch
push ds
inc edx
add byte [eax - 0x4fffbde2], cl
push ds
inc edx
add byte [esi + ebx + 0x1ed10042], dl
inc edx
add byte [eax + 0x7700421e], dh
pop ds
inc edx
add byte [esi], al
pop ds
inc edx
add al, dh
push ds
inc edx
add byte [ecx], bh
pop ds
inc edx
add byte [edi + 0x7d00421f], al
pop ds
inc edx
add byte [edi - 0x6affbde1], al
pop ds
inc edx
add byte [eax - 0x60ffbde1], dh
pop ds
inc edx
add byte [eax - 0x3affbde1], dh
pop ds
inc edx
add al, dl
pop ds
inc edx
add al, dl
pop ds
inc edx
add dl, dl
pop ds
inc edx
add al, dl
pop ds
inc edx
add byte [esi], bh
and byte [edx], al
adc ah, byte [eax]
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], dl
and byte [edx], al
xor ah, byte [eax]
inc edx
add al, dh
pop ds
inc edx
add byte [esi], bh
and byte [edx], al
call [edi]
inc edx
add byte [eax + 0x20], dl
inc edx
add byte [edx + 0x20], ah
inc edx
add cl, ah
and byte [edx], al
out dx, eax
and byte [edx], al
loopne 0x4471b7
inc edx
add al, ah
and dword [edx], eax
loopne 0x4471bf
inc edx
add dl, ah
and dword [edx], eax
call 0x2844b3ca
push ds
inc edx
add byte [esi - 0x3fffbde5], cl
sbb eax, dword [edx]
rcr byte [ebx], 0x42
add al, al
sbb eax, dword [edx]
invalid
add al, al
sbb eax, dword [edx]
rcr byte [ebx], 1
inc edx
add bh, bl
sbb eax, dword [edx]
mov al, 0x1c
inc edx
add byte [eax - 0x4fffbde4], dh
sbb al, 0x42
add byte [edx - 0x47ffbde4], dh
sbb al, 0x42
add dh, ch
sbb eax, 0x10042
add byte [eax], al
add dword [eax], eax
add byte [eax], al
out dx, al
sbb eax, 65602
add byte [eax], al
std
sbb eax, 485097538
inc edx
add byte [edi - 0x5bffbde3], dl
sbb eax, 0x1db00042
inc edx
add byte [eax - 0x4fffbde3], dh
sbb eax, 0x1db20042
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 + esi], bh
inc edx
add byte [edx - 0x16ffbdd5], ah
sub eax, dword [edx]
test al, 0x2b
inc edx
add byte [ebx + ebp + 0x32a60042], dh
inc edx
add byte [eax + 0x3200422d], cl
aaa
inc edx
add byte [ebp + ebp + 0x36600042], ch
inc edx
add bh, bl
sub eax, 0x36840042
inc edx
add byte [edx], cl
inc edx
add byte [eax - 0x54ffbdd0], dl
xor byte [edx], al
les esi, [ecx]
inc edx
add byte [edi], bh
inc edx
add byte [eax], dh
inc edx
add byte [edi], ah
inc edx
add byte [edi], ah
inc edx
add byte [edi], bh
inc edx
add byte [esi], cl
inc edx
add byte [esi + 0x75004230], bl
inc edx
add byte [esi + esi + 0x42], ch
add byte [esi + esi + 0x42], ch
add byte [esi + esi + 0x36900042], al
inc edx
add byte [eax - 0x6fffbdca], dl
inc edx
add byte [eax + 0x36], ah
inc edx
add byte [esi + 0x36], ah
inc edx
add byte [edx], dh
aaa
inc edx
add byte [ebx], ah
aaa
inc edx
add byte [edx], bl
aaa
inc edx
add byte [edx], dh
aaa
inc edx
add byte [edx], bl
aaa
inc edx
add byte [eax], al
xor al, byte [edx]
mov al, byte [0xa6004236]
xor al, byte [edx]
mov al, byte [0xb1004236]
xor al, byte [edx]
sal byte [edx], 1
inc edx
add al, dl
sub eax, dword [edx]
invalid