Function at 0x40c980
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x458
mov dword [esp + 0x50], 0x3b10151
mov dword [esp + 0x54], 0x1fa71d88
mov dword [esp + 0x58], 0x1bac19aa
mov dword [esp + 0x5c], 0x176515b9
mov dword [esp + 0x60], 0x13661159
mov dword [esp + 0x64], 0x6f0c6d62
mov dword [esp + 0x68], 0x6bc16916
mov dword [esp + 0x6c], 0x67d265d1
mov dword [esp + 0x70], 0x63d161da
mov dword [esp + 0x74], 0x7ff17deb
mov dword [esp + 0x78], 0x7b2e791e
mov dword [esp + 0x7c], 0x771475d6
mov dword [esp + 0x80], 0x73007105
mov dword [esp + 0x84], 0x4f3c4d04
mov dword [esp + 0x88], 0x4b28490b
mov dword [esp + 0x8c], 0x47ff45e3
mov dword [esp + 0x90], 0x430e41f0
mov dword [esp + 0x94], 0x5f195d0e
mov dword [esp + 0x98], 0x5bd0593e
mov dword [esp + 0x9c], 0x57185514
mov dword [esp + 0xa0], 0x5330512d
mov dword [esp + 0xa4], 0xaf1cad11
mov dword [esp + 0xa8], 0xab1ca91e
mov dword [esp + 0xac], 0xa70da515
mov dword [esp + 0xb0], 0xa302a119
mov dword [esp + 0xb4], 0xbf07bdf7
mov dword [esp + 0xb8], 0xbbc9b932
mov dword [esp + 0xbc], 0xb7f9b5f5
mov dword [esp + 0xc0], 0xb3c6b1ff
mov dword [esp + 0xc4], 0x8fc28dff
mov dword [esp + 0xc8], 0x8bf089ee
mov dword [esp + 0xcc], 0x87dc85df
mov dword [esp + 0xd0], 0x83d7812a
mov dword [esp + 0xd4], 0x9fe89dd6
mov dword [esp + 0xd8], 0x9b2c99fe
mov dword [esp + 0xdc], 0x97219521
mov dword [esp + 0xe0], 0x93f09129
mov dword [esp + 0xe4], 0xef53edcb
mov dword [esp + 0xe8], 0xeb5de953
mov dword [esp + 0xec], 0xe79fe55b
mov dword [esp + 0xf0], 0xe3bde186
mov dword [esp + 0xf4], 0xff4efd5a
mov dword [esp + 0xf8], 0xfb4ff94f
mov dword [esp + 0xfc], 0xf785f545
mov dword [esp + 0x100], 0xf383f185
mov dword [esp + 0x104], 0xcfbacdb9
mov dword [esp + 0x108], 0xcbbec9be
mov dword [esp + 0x10c], 0xc7b2c5ba
mov dword [esp + 0x110], 0xc3a0c1b6
mov dword [esp + 0x114], 0xdf7fdd6f
mov dword [esp + 0x118], 0xdb7bd960
mov dword [esp + 0x11c], 0xd76fd568
mov dword [esp + 0x120], 0xd39fd1a7
mov dword [esp + 0x124], 0x2f652d9f
mov dword [esp + 0x128], 0x2b652958
mov dword [esp + 0x12c], 0x27242564
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov eax, dword [0x44e804]
mov dword [esp + 4], eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x50]
mov esi, ecx
and esi, 0xab
mov eax, ecx
and eax, 0x54
mov edi, ecx
xor edi, 0x12c46aab
sub edi, eax
add edi, ecx
mov eax, esi
not eax
or eax, edi
add eax, esi
xor edi, esi
lea esi, [edi + eax*2]
add esi, 2
mov eax, edx
and eax, 0xfffffffd
mov ebx, edx
and ebx, 2
mov edi, edx
or edi, 2
imul edi, ebx
xor ebx, 2
imul ebx, eax
add edi, ebx
lea eax, [edx - 1]
mov ebx, edx
neg ebx
and ebx, edi
not edi
and edi, eax
sub edi, ebx
and edi, 0xd706088d
and edx, 0x72
or edx, edi
xor edx, esi
xor edx, 0xd706088d
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
add al, 0x53
mov byte [esp + ecx + 0x50], al
inc ecx
cmp ecx, 0xe8
jne case.default.0x40cc9f
lea eax, [esp + 0x50]
push 0
push 0
push 0
push 0
push eax
call dword [esp + 0x18]
mov esi, eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x449050]
xor ebx, ebx
xor eax, eax
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
setne al
xor esi, esi
jmp dword [eax*4 + 0x4490f8]
mov dword [ecx], esi
xor eax, eax
mov ecx, dword [ebp + 0x20]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x449108]
mov dword [ecx], ebx
test esi, esi
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [ebp + 8]
jmp dword [0x449058]
push 0
push 0x1bb
push edi
push esi
call dword [0x44e808]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push 0x1bb
push edi
push esi
call dword [0x44e808]
jmp dword [0x449060]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
xor ebx, ebx
jmp dword [ecx*4 + 0x449068]
mov dword [esp + 0xc], eax
mov dword [esp + 0x4c], esi
mov eax, dword [0x44e80c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x50], 0x13611166
mov dword [esp + 0x54], 0x1f601d6f
mov word [esp + 0x58], 0x191e
mov dword [esp + 0x5a], 0
mov dword [esp + 0x5e], 0
mov dword [esp + 0x61], 0
mov ecx, 0xd8982683
mov edx, 0x2767d97c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
movzx edx, byte [esp + ecx + 0x2767d9cd]
mov eax, edx
not eax
lea esi, [edx + eax*2]
mov edx, SysReAllocString
sub edx, esi
and edx, 0x774cf005
mov ebx, eax
and ebx, 0x88b30ffa
or ebx, edx
mov edx, ebx
and edx, 0xffddfbff
mov edi, dword [esp + 4]
xor edi, 0xda998b61
mov ecx, edx
xor edx, 0xadf77f64
and edx, edi
xor ecx, 0x5208809b
mov edi, dword [esp + 4]
xor edi, 0x2566749e
and edi, ecx
xor ebx, 0x88b30ffa
and ebx, dword [esp + 4]
or ebx, edi
or ebx, edx
mov ecx, dword [esp + 8]
and ecx, 0xd808201b
mov edx, dword [esp + 4]
and edx, 0x7651124
or edx, ecx
mov edi, 0xfffffffe
sub edi, esi
mov ecx, edi
xor ecx, 3
mov esi, edi
or esi, 0xb80470fc
and esi, ecx
and eax, 0x47fb8f03
or eax, esi
mov ecx, edx
xor ecx, 0x7f517a4
mov esi, edx
xor esi, 0xf80ae85b
xor edx, 0x27614158
and edx, esi
or edi, esi
or esi, 0x47fb8f03
add ecx, esi
inc ecx
or ecx, edx
xor ecx, eax
not edi
or edi, ecx
and edi, ebx
lea eax, [edi + edi]
not eax
add eax, edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov edx, eax
xor edx, 0xec290d95
and eax, edx
mov ecx, eax
not ecx
mov esi, ecx
or ecx, 2
lea edi, [ecx + ecx]
not edi
add edi, ecx
and esi, 2
imul edi, esi
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
mov ecx, dword [esp + 8]
sub eax, edx
add eax, edi
mov edx, dword [esp + 4]
mov byte [esp + ecx + 0x2767d9cd], al
inc ecx
dec edx
cmp edx, 0x2767d967
jne 0x40cd80
push 0x800000
push 0
push 0
push 0
push dword [ebp + 0xc]
lea eax, [esp + 0x64]
push eax
mov esi, dword [esp + 0x24]
push esi
call dword [esp + 0x64]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
xor ebx, ebx
jmp dword [ecx*4 + 0x449070]
mov ebx, eax
movzx eax, byte [0x44e93c]
jmp dword [eax*4 + 0x449078]
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
mov dword [esp + 4], ebx
jmp dword [0x449084]
mov dword [esp + 0x10], 0x3ba93973
mov dword [esp + 0x14], 0x3f913dab
mov dword [esp + 0x18], 0x23872195
mov dword [esp + 0x1c], 0x27442578
mov dword [esp + 0x20], 0x2b892987
mov dword [esp + 0x24], 0x2f8a2d8f
mov dword [esp + 0x28], 0x13bf118f
mov dword [esp + 0x2c], 0x17b5158b
mov dword [esp + 0x30], 0x1b8319b4
mov dword [esp + 0x34], 0x1f431d8a
mov word [esp + 0x38], 0x11e
mov dword [esp + 0x3a], 0
mov dword [esp + 0x3e], 0
mov dword [esp + 0x42], 0
mov word [esp + 0x46], 0
mov eax, 0x2c796c87
mov ecx, 0xd3869378
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x2c796c77]
mov edi, ecx
xor edi, edx
add edi, edx
lea esi, [edx + edx]
not esi
add esi, edx
not edx
and edx, eax
add edx, edi
inc edx
and esi, ecx
or esi, edx
not esi
mov dword [esp + 0x50], esi
mov edx, dword [esp + 0x50]
add dl, 0x4f
mov byte [esp + eax - 0x2c796c77], dl
inc eax
dec ecx
cmp eax, 0x2c796cbf
jne 0x40cf80
movzx eax, word [esp + 0x10]
test ax, ax
lea edx, [esp + 0x50]
je 0x40cff1
lea edx, [esp + 0x50]
lea ecx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cfe0
mov word [edx], 0
movzx eax, word [0x44e93e]
test ax, ax
je 0x40d025
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx + ecx], ax
movzx eax, word [ecx + 0x44e940]
add ecx, 2
test ax, ax
jne 0x40d010
add edx, ecx
mov word [edx], 0
lea eax, [esp + 0x50]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [0x44e818]
mov esi, dword [ebp + 0x18]
mov dword [esp + 4], ebx
mov edi, dword [ebp + 0x10]
jmp dword [0x449084]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x449100]
xor eax, eax
mov ecx, dword [ebp + 0x20]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x449108]
push esi
call fcn.0043e740
add esp, 4
xor eax, eax
mov ecx, dword [ebp + 0x20]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x449108]
lea eax, [esp + 0x50]
push eax
push edi
call dword [0x44e824]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4490a0]
xor eax, eax
movzx eax, al
jmp dword [eax*4 + 0x4490a8]
xor eax, eax
cmp dword [esp + 0x50], 0
setne al
jmp dword [eax*4 + 0x4490a8]
mov eax, dword [esp + 0x50]
add eax, ebx
inc eax
push eax
push dword [esp + 0xc]
call fcn.00440110
add esp, 8
xor ecx, ecx
mov dword [esp + 4], eax
test eax, eax
sete cl
mov eax, 1
mov edx, edi
lea esi, [esp + 0x10]
jmp dword [ecx*4 + 0x4490b0]
mov eax, dword [esp + 4]
mov dword [esp + 8], eax
jmp dword [0x4490b8]
mov dword [esp + 0x10], 0
mov eax, dword [esp + 4]
add eax, ebx
push esi
push dword [esp + 0x54]
push eax
push edx
mov edi, edx
call dword [0x44e828]
mov edx, edi
add ebx, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x10], 0
mov eax, dword [esp + 4]
add eax, ebx
push esi
push dword [esp + 0x54]
push eax
push edx
mov edi, edx
call dword [0x44e828]
mov edx, edi
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, ebx
xor eax, ebx
lea ebx, [eax + ecx*2]
xor eax, eax
jmp dword [0x4490c0]
mov esi, dword [esp + 0xc]
mov edi, edx
jmp dword [eax*4 + 0x4490c8]
jmp 0x40d090
xor eax, eax
mov ecx, dword [esp + 8]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x4490d0]
jmp dword [0x4490d8]
mov byte [ecx + ebx], 0
jmp dword [0x4490d8]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov edi, dword [esp + 4]
jmp dword [ecx*4 + 0x449090]
push 0
push edi
call dword [0x44e820]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
xor ebx, ebx
jmp dword [ecx*4 + 0x449098]
mov esi, dword [esp + 0xc]
jmp dword [0x4490d8]
push edi
call dword [0x44e830]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edi
call dword [0x44e830]
jmp dword [0x4490e0]
mov edi, esi
mov esi, dword [esp + 0x4c]
jmp dword [0x4490e8]
push edi
call dword [0x44e830]
push edi
call dword [0x44e830]
jmp dword [0x4490f4]
push esi
call dword [0x44e830]
xor eax, eax
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
setne al
mov esi, dword [esp + 8]
jmp dword [eax*4 + 0x4490f8]
mov dword [esp + 0x50], 0
mov dword [esp + 8], 0
xor ebx, ebx
mov esi, dword [esp + 0xc]
jmp 0x40d090
xor eax, eax
mov ecx, edi
neg ecx
sbb eax, eax
push 0
push esi
push esi
push dword [ebp + 0x14]
push eax
push edi
push dword [esp + 0x1c]
call dword [0x44e81c]
xor ebx, ebx
mov eax, edi
neg eax
mov eax, 0
sbb eax, eax
push 0
push esi
push esi
push dword [ebp + 0x14]
push eax
push edi
push dword [esp + 0x1c]
call dword [0x44e81c]
jmp dword [0x44908c]
push eax
sub esp, 0xe4
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [0x44e804]
mov dword [esi + 8], ecx
mov dword [eax], 0x3750555
mov dword [eax + 4], 0xf770184
mov dword [eax + 8], 0xb780d7a
mov dword [eax + 0xc], 0x17390965
mov dword [eax + 0x10], 0x1326152d
mov dword [eax + 0x14], 0x1f301122
mov dword [eax + 0x18], 0x1b451d36
mov dword [eax + 0x1c], 0x276a196d
mov dword [eax + 0x20], 0x2355254a
mov dword [eax + 0x24], 0x2f5d215b
mov dword [eax + 0x28], 0x2b7e2d0e
mov dword [eax + 0x2c], 0x37082976
mov dword [eax + 0x30], 0x33043509
mov dword [eax + 0x34], 0x3f003100
mov dword [eax + 0x38], 0x3b1c3d7b
mov dword [eax + 0x3c], 0x474f3963
mov dword [eax + 0x40], 0x437e4534
mov dword [eax + 0x44], 0x4f05417e
mov dword [eax + 0x48], 0x4b344d6e
mov dword [eax + 0x4c], 0x57744970
mov dword [eax + 0x50], 0x53745561
mov dword [eax + 0x54], 0x5f20511d
mov dword [eax + 0x58], 0x5b285d2e
mov dword [eax + 0x5c], 0x67015931
mov dword [eax + 0x60], 0x630a650d
mov dword [eax + 0x64], 0x6f176137
mov dword [eax + 0x68], 0x6b5d6d12
mov dword [eax + 0x6c], 0x77556951
mov dword [eax + 0x70], 0x7346754f
mov dword [eax + 0x74], 0x7f4a714f
mov dword [eax + 0x78], 0x7b547d5e
mov dword [eax + 0x7c], 0x8730792f
mov dword [eax + 0x80], 0x83d785da
mov dword [eax + 0x84], 0x8fb481d6
mov dword [eax + 0x88], 0x8bf88dae
mov dword [eax + 0x8c], 0x97fd89fd
mov dword [eax + 0x90], 0x93b495fd
mov dword [eax + 0x94], 0x9ffb91db
mov dword [eax + 0x98], 0x9be99df3
mov dword [eax + 0x9c], 0xa7af99eb
mov dword [eax + 0xa0], 0xa3e9a586
mov dword [eax + 0xa4], 0xafdea1ca
mov dword [eax + 0xa8], 0xabdfaddf
mov dword [eax + 0xac], 0xb799a9c1
mov dword [eax + 0xb0], 0xb38bb589
mov dword [eax + 0xb4], 0xbf82b1f5
mov dword [eax + 0xb8], 0xbb8ebd8e
mov dword [eax + 0xbc], 0xc78ab98a
mov dword [eax + 0xc0], 0xc3e4c5f6
mov dword [eax + 0xc4], 0xcfafc19f
mov dword [eax + 0xc8], 0xcba3cda4
mov dword [eax + 0xcc], 0xd7bfc9b4
mov dword [eax + 0xd0], 0xd3efd5e7
mov dword [eax + 0xd4], 0xdfe9d1ef
mov dword [eax + 0xd8], 0xdbe1ddec
mov dword [eax + 0xdc], 0xe7d8d9e0
mov byte [eax + 0xe4], 0
mov dword [esi + 4], eax
mov dword [eax + 0xe0], 0
xor edi, edi
mov ecx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi], ecx
lea ebx, [edi + 1]
mov edx, dword [esi]
or edx, 0x64b40f81
mov eax, edi
or eax, 0x9b4bf07e
and eax, edx
mov ecx, edx
mov dword [esi + 0xc], ebx
xor edx, ebx
not eax
lea eax, [eax + edx*2]
and ecx, ebx
lea eax, [eax + ecx*4]
mov ebx, dword [esi + 4]
movzx ecx, byte [ebx + edi]
xor eax, ecx
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0x10]
mov eax, edx
xor eax, 0x3f139378
inc eax
add edx, edx
and edx, 0x7e2726f0
mov ecx, edx
and ecx, eax
xor edx, eax
lea eax, [edx + ecx*2]
mov ecx, dword [esi]
mov byte [ebx + edi], al
dec ecx
mov eax, dword [esi + 0xc]
mov edi, eax
cmp eax, 0xe5
jne 0x40d4d0
push 0
push 0
push 0
push 0
push dword [esi + 4]
call dword [esi + 8]
nop
push eax
mov edx, esp
push eax
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x34], esp
push eax
mov dword [esi + 0x30], esp
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov dword [esi + 0x1c], esp
sub esp, 0xe8
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x20], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x28], eax
mov esp, eax
push eax
sub esp, 0x1fc
mov dword [esi + 0x40], esp
sub esp, 0x38
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x14], eax
mov esp, eax
push eax
mov dword [esi + 0x44], esp
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x48], edx
mov dword [edx], eax
mov eax, dword [ebp + 0x1c]
mov edx, dword [esi + 0x3c]
mov dword [edx], eax
mov eax, dword [ebp + 0x18]
mov edx, dword [esi + 0x2c]
mov dword [edx], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [esi + 0x38]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [esi + 0x34]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [esi + 0x30]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x4c], ebx
mov dword [ebx], eax
mov dword [esi + 0x24], edi
mov byte [edi], 0
mov eax, dword [0x44e804]
mov dword [esi + 8], eax
mov dword [ecx], 0x3750555
mov dword [ecx + 4], 0xf770184
mov dword [ecx + 8], 0xb780d7a
mov dword [ecx + 0xc], 0x17390965
mov dword [ecx + 0x10], 0x1326152d
mov dword [ecx + 0x14], 0x1f301122
mov dword [ecx + 0x18], 0x1b451d36
mov dword [ecx + 0x1c], 0x276a196d
mov dword [ecx + 0x20], 0x2355254a
mov dword [ecx + 0x24], 0x2f5d215b
mov dword [ecx + 0x28], 0x2b7e2d0e
mov dword [ecx + 0x2c], 0x37082976
mov dword [ecx + 0x30], 0x33043509
mov dword [ecx + 0x34], 0x3f003100
mov dword [ecx + 0x38], 0x3b1c3d7b
mov dword [ecx + 0x3c], 0x474f3963
mov dword [ecx + 0x40], 0x437e4534
mov dword [ecx + 0x44], 0x4f05417e
mov dword [ecx + 0x48], 0x4b344d6e
mov dword [ecx + 0x4c], 0x57744970
mov dword [ecx + 0x50], 0x53745561
mov dword [ecx + 0x54], 0x5f20511d
mov dword [ecx + 0x58], 0x5b285d2e
mov dword [ecx + 0x5c], 0x67015931
mov dword [ecx + 0x60], 0x630a650d
mov dword [ecx + 0x64], 0x6f176137
mov dword [ecx + 0x68], 0x6b5d6d12
mov dword [ecx + 0x6c], 0x77556951
mov dword [ecx + 0x70], 0x7346754f
mov dword [ecx + 0x74], 0x7f4a714f
mov dword [ecx + 0x78], 0x7b547d5e
mov dword [ecx + 0x7c], 0x8730792f
mov dword [ecx + 0x80], 0x83d785da
mov dword [ecx + 0x84], 0x8fb481d6
mov dword [ecx + 0x88], 0x8bf88dae
mov dword [ecx + 0x8c], 0x97fd89fd
mov dword [ecx + 0x90], 0x93b495fd
mov dword [ecx + 0x94], 0x9ffb91db
mov dword [ecx + 0x98], 0x9be99df3
mov dword [ecx + 0x9c], 0xa7af99eb
mov dword [ecx + 0xa0], 0xa3e9a586
mov dword [ecx + 0xa4], 0xafdea1ca
mov dword [ecx + 0xa8], 0xabdfaddf
mov dword [ecx + 0xac], 0xb799a9c1
mov dword [ecx + 0xb0], 0xb38bb589
mov dword [ecx + 0xb4], 0xbf82b1f5
mov dword [ecx + 0xb8], 0xbb8ebd8e
mov dword [ecx + 0xbc], 0xc78ab98a
mov dword [ecx + 0xc0], 0xc3e4c5f6
mov dword [ecx + 0xc4], 0xcfafc19f
mov dword [ecx + 0xc8], 0xcba3cda4
mov dword [ecx + 0xcc], 0xd7bfc9b4
mov dword [ecx + 0xd0], 0xd3efd5e7
mov dword [ecx + 0xd4], 0xdfe9d1ef
mov dword [ecx + 0xd8], 0xdbe1ddec
mov dword [ecx + 0xdc], 0xe7d8d9e0
mov byte [ecx + 0xe4], 0
mov dword [esi + 4], ecx
mov dword [ecx + 0xe0], 0
xor edi, edi
mov ecx, 0xffffffff
nop
nop
mov dword [esi], ecx
lea edx, [edi + 1]
mov ebx, dword [esi]
or ebx, 0x64b40f81
mov eax, edi
or eax, 0x9b4bf07e
and eax, ebx
mov ecx, ebx
mov dword [esi + 0xc], edx
xor ebx, edx
not eax
lea eax, [eax + ebx*2]
and ecx, edx
lea eax, [eax + ecx*4]
mov edx, dword [esi + 4]
movzx ecx, byte [edx + edi]
xor eax, ecx
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x10]
mov eax, ebx
xor eax, 0x3f139378
inc eax
add ebx, ebx
and ebx, 0x7e2726f0
mov ecx, ebx
and ecx, eax
xor ebx, eax
lea eax, [ebx + ecx*2]
mov ecx, dword [esi]
mov byte [edx + edi], al
dec ecx
mov eax, dword [esi + 0xc]
mov edi, eax
cmp eax, 0xe5
jne 0x40d7d0
push 0
push 0
push 0
push 0
push dword [esi + 4]
call dword [esi + 8]
mov ecx, dword [esi + 0x1c]
mov dword [ecx], eax
jmp dword [0x449128]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449130]
push 0
push 0x1bb
push 0x44e838
mov edi, eax
push eax
call dword [0x44e808]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov ecx, dword [case.0x40cc9f.60]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449148]
jmp 0x40dd1a
mov eax, dword [0x44e80c]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x28]
mov dword [ecx], 0x5b0d5908
mov dword [ecx + 4], 0x57fa5507
mov word [ecx + 8], 0x5150
mov dword [ecx + 0xa], 0
mov dword [ecx + 0xe], 0
mov dword [ecx + 0x11], 0
mov edx, 0x5290e0f4
mov edi, 0xad6f1f0b
nop
nop
nop
nop
nop
nop
mov dword [esi], edi
movzx eax, byte [ecx + edx - 0x5290e0f4]
mov ebx, eax
not ebx
lea ecx, [ebx + ebx]
and ecx, 2
lea ebx, [eax + ebx*2]
mov dword [esi + 0xc], ebx
lea ebx, [edi + 0x5290e100]
and ebx, eax
xor eax, 0xfffffffe
add eax, ecx
mov ecx, 0xfffffffe
sub ecx, dword [esi + 0xc]
mov edi, ecx
add eax, ecx
xor ecx, edx
add ecx, eax
and edi, dword [esi]
sub ecx, edi
mov edi, dword [esi]
or ebx, ecx
mov dword [esi + 0x10], ebx
mov eax, dword [esi + 0x10]
mov ecx, eax
or ecx, 0x53
xor eax, 0xac
and eax, ecx
add eax, ecx
mov ecx, dword [esi + 0x28]
inc al
mov byte [ecx + edx - 0x5290e0f4], al
inc edx
dec edi
cmp edx, 0x5290e109
jne 0x40d8e0
mov eax, dword [esi + 0x18]
mov edi, dword [eax]
push 0x800000
push 0
push 0
push 0
push dword [esi + 8]
push ecx
push edi
call dword [esi + 4]
mov ebx, eax
mov eax, dword [esi + 0x20]
mov dword [eax], ebx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x449150]
mov eax, dword [esi + 0x48]
mov edi, dword [eax]
xor eax, eax
test edi, edi
setg al
jmp dword [eax*4 + 0x449158]
jmp dword [0x449160]
mov edx, dword [esi + 0x14]
jmp dword [0x44918c]
mov dword [edx], 0xb3c5b5eb
mov dword [edx + 4], 0xcfc5b1c3
mov dword [edx + 8], 0xcbb7cdb9
mov dword [edx + 0xc], 0xc7e8c98c
mov dword [edx + 0x10], 0xc3a5c5a7
mov dword [edx + 0x14], 0xdfbac1bf
mov dword [edx + 0x18], 0xdbafddbf
mov dword [edx + 0x1c], 0xd7b9d953
mov dword [edx + 0x20], 0xd353d5a8
mov dword [edx + 0x24], 0xef93d1a2
mov word [edx + 0x28], 0xedee
mov dword [edx + 0x2a], 0
mov dword [edx + 0x2e], 0
mov word [edx + 0x32], 0
mov ebx, 0x170f4bb8
mov dword [esi], 0x88f0b446
mov dword [esi + 4], 0xee1e9772
mov dword [esi + 8], 0x11e1688d
mov dword [esi + 0xc], ebx
movzx edi, byte [edx + ebx - 0x170f4bb8]
lea eax, [edi + edi]
not eax
add eax, edi
mov ecx, edi
and ecx, 0x67
mov edx, eax
and edx, 0x490a4b98
or edx, ecx
xor edx, edi
xor edx, 0xb6f5b467
sub edx, edi
mov edi, dword [esi]
lea ecx, [edi + 1]
and ecx, dword [esi + 4]
mov ebx, dword [esi + 0xc]
and ebx, dword [esi + 8]
sub ebx, ecx
and ebx, edi
or ebx, edx
mov edx, ebx
or edx, 0xfffffffd
inc edx
mov ecx, ebx
and ecx, 0xfffffffd
imul ecx, edx
mov edx, ebx
and edx, 2
mov edi, ebx
or edi, 2
imul edi, edx
sub ecx, edi
lea edx, [ebx + ecx]
lea edi, [ebx + ecx]
dec edi
mov ebx, edx
neg ebx
and ebx, 2
mov ecx, edi
and ecx, 0xfffffffd
imul ecx, ebx
mov ebx, edi
and ebx, 2
or edi, 2
imul edi, ebx
mov ebx, dword [esi + 0xc]
add edi, ecx
not edi
lea ecx, [edi + edx]
dec ecx
mov edi, dword [esi]
and eax, edi
not eax
and eax, ecx
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0x10]
mov eax, edx
xor eax, 0xf72b11da
and edx, 0x8d4ee25
add edx, edx
sub edx, eax
mov eax, edx
not eax
and eax, 0xf
and edx, 0xf0
sub edx, eax
add dl, 0xda
mov eax, dword [esi + 0x14]
mov byte [eax + ebx - 0x170f4bb8], dl
mov edx, dword [esi + 0x14]
inc ebx
mov eax, edi
dec eax
mov dword [esi], eax
add dword [esi + 4], 2
add dword [esi + 8], 0xfffffffe
cmp ebx, 0x170f4bec
jne 0x40da10
mov dword [edx], 0xb3c5b5eb
mov dword [edx + 4], 0xcfc5b1c3
mov dword [edx + 8], 0xcbb7cdb9
mov dword [edx + 0xc], 0xc7e8c98c
mov dword [edx + 0x10], 0xc3a5c5a7
mov dword [edx + 0x14], 0xdfbac1bf
mov dword [edx + 0x18], 0xdbafddbf
mov dword [edx + 0x1c], 0xd7b9d953
mov dword [edx + 0x20], 0xd353d5a8
mov dword [edx + 0x24], 0xef93d1a2
mov word [edx + 0x28], 0xedee
mov dword [edx + 0x2a], 0
mov dword [edx + 0x2e], 0
mov word [edx + 0x32], 0
mov ebx, 0x170f4bb8
mov dword [esi], 0x88f0b446
mov dword [esi + 4], 0xee1e9772
mov dword [esi + 8], 0x11e1688d
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], ebx
movzx eax, byte [edx + ebx - 0x170f4bb8]
lea edx, [eax + eax]
not edx
add edx, eax
mov ecx, eax
and ecx, 0x67
mov edi, edx
and edi, 0x490a4b98
or edi, ecx
xor edi, eax
xor edi, 0xb6f5b467
sub edi, eax
mov eax, dword [esi]
lea ecx, [eax + 1]
mov dword [esi], eax
and ecx, dword [esi + 4]
mov ebx, dword [esi + 0xc]
and ebx, dword [esi + 8]
sub ebx, ecx
and ebx, eax
or ebx, edi
mov eax, ebx
or eax, 0xfffffffd
inc eax
mov ecx, ebx
and ecx, 0xfffffffd
imul ecx, eax
mov edi, ebx
and edi, 2
mov eax, ebx
or eax, 2
imul eax, edi
sub ecx, eax
lea edi, [ebx + ecx]
lea eax, [ebx + ecx]
dec eax
mov ebx, edi
neg ebx
and ebx, 2
mov ecx, eax
and ecx, 0xfffffffd
imul ecx, ebx
mov ebx, eax
and ebx, 2
or eax, 2
imul eax, ebx
mov ebx, dword [esi + 0xc]
add eax, ecx
not eax
add eax, edi
dec eax
mov edi, dword [esi]
and edx, edi
not edx
and edx, eax
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, eax
xor ecx, 0xf72b11da
and eax, 0x8d4ee25
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0xf
and eax, 0xf0
sub eax, ecx
add al, 0xda
mov byte [edx + ebx - 0x170f4bb8], al
inc ebx
mov eax, edi
dec eax
mov dword [esi], eax
add dword [esi + 4], 2
add dword [esi + 8], 0xfffffffe
cmp ebx, 0x170f4bec
jne 0x40db70
jmp dword [0x449190]
movzx ecx, word [edx]
mov edi, dword [esi + 0x40]
mov eax, edi
test cx, cx
je 0x40dc81
add edx, 2
mov eax, edi
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 0x40dc70
mov word [eax], 0
movzx ecx, word [0x44e93e]
test cx, cx
je 0x40dcb5
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44e940]
add edx, 2
test cx, cx
jne 0x40dca0
add eax, edx
mov word [eax], 0
mov eax, dword [esi + 0x20]
mov ebx, dword [eax]
push 0x20000000
push 0xffffffffffffffff
push edi
push ebx
call dword [0x44e818]
jmp case.0x40cc9f.75
mov eax, dword [esi + 0x44]
mov dword [eax], 0
push eax
push edi
mov eax, dword [esi + 0x2c]
push dword [eax]
mov edi, ebx
push ebx
call dword [0x44e82c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4491a0]
push 0
push edi
call dword [0x44e820]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4491a8]
jmp 0x40dd16
mov eax, dword [esi + 0x24]
mov byte [eax], 1
mov ebx, edi
jmp case.0x40cc9f.81
push edi
call dword [0x44e830]
mov eax, dword [esi + 0x24]
movzx eax, byte [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, byte [0x44e93c]
jmp dword [eax*4 + 0x449180]
mov eax, dword [esi + 0x3c]
mov edi, dword [eax]
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
xor ecx, ecx
mov edx, eax
neg edx
sbb ecx, ecx
push 0
push edi
mov edx, dword [esi + 0x38]
push dword [edx]
mov edx, dword [esi + 0x34]
push dword [edx]
push ecx
push eax
push ebx
call dword [0x44e81c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x449198]
push ebx
call dword [0x44e830]
mov eax, dword [esi + 0x18]
mov edi, dword [eax]
mov ebx, dword [esi + 0x1c]
push edi
call dword [0x44e830]
mov edi, dword [ebx]
jmp 0x40dd1a
push edi
push edi
push edi
push edi
push ebx
call dword [0x44e814]
push edi
push edi
push edi
push edi
push ebx
call dword [0x44e814]
jmp dword [0x449168]
int3