Function at 0x40ca12
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x444
mov eax, dword [0x449844]
mov dword [esp + 0x44], 0x778571ad
mov dword [esp + 0x48], 0xbf375fa
mov dword [esp + 0x4c], 0xff209f4
mov dword [esp + 0x50], 0x3310ded
mov dword [esp + 0x54], 0x7340135
mov dword [esp + 0x58], 0x1b3a0534
mov dword [esp + 0x5c], 0x1ff51920
mov dword [esp + 0x60], 0x13e01de5
mov dword [esp + 0x64], 0x17e511f4
mov dword [esp + 0x68], 0x2bdd159f
mov dword [esp + 0x6c], 0x2ffc2908
mov dword [esp + 0x70], 0x23022df8
mov dword [esp + 0x74], 0x27162111
mov dword [esp + 0x78], 0x3b0a2516
mov dword [esp + 0x7c], 0x3f1e39f7
mov dword [esp + 0x80], 0x33cb3dd7
mov dword [esp + 0x84], 0x37fc31c2
mov dword [esp + 0x88], 0xcb053500
mov dword [esp + 0x8c], 0xcf46c9e8
mov dword [esp + 0x90], 0xc3f6cd06
mov dword [esp + 0x94], 0xc7e6c1f9
mov dword [esp + 0x98], 0xdb2ac505
mov dword [esp + 0x9c], 0xdf22d928
mov dword [esp + 0xa0], 0xd339dd39
mov dword [esp + 0xa4], 0xd730d135
mov dword [esp + 0xa8], 0xeb13d50b
mov dword [esp + 0xac], 0xefdde91c
mov dword [esp + 0xb0], 0xe3d5edd9
mov dword [esp + 0xb4], 0xe7d4e12b
mov dword [esp + 0xb8], 0xfb30e5d3
mov dword [esp + 0xbc], 0xffc6f9d8
mov dword [esp + 0xc0], 0xf32afd23
mov dword [esp + 0xc4], 0xf72bf124
mov dword [esp + 0xc8], 0x8bb6f528
mov dword [esp + 0xcc], 0x8f7289a8
mov dword [esp + 0xd0], 0x837d8d75
mov dword [esp + 0xd4], 0x87a68165
mov dword [esp + 0xd8], 0x9b7f855f
mov dword [esp + 0xdc], 0x9f61997f
mov dword [esp + 0xe0], 0x93ab9d6f
mov dword [esp + 0xe4], 0x975191b0
mov dword [esp + 0xe8], 0xab5c956c
mov dword [esp + 0xec], 0xaf53a95b
mov dword [esp + 0xf0], 0xa391ad49
mov dword [esp + 0xf4], 0xa797a191
mov dword [esp + 0xf8], 0xbb88a56d
mov dword [esp + 0xfc], 0xbf8cb988
mov dword [esp + 0x100], 0xb380bd8c
mov dword [esp + 0x104], 0xb796b180
mov dword [esp + 0x108], 0x4babb563
mov dword [esp + 0x10c], 0x4faf49b2
mov dword [esp + 0x110], 0x43bb4dba
mov dword [esp + 0x114], 0x47734173
mov dword [esp + 0x118], 0x5b914573
mov dword [esp + 0x11c], 0x5f69596a
mov dword [esp + 0x120], 0x53525d96
mov byte [esp + 0x126], 0
mov word [esp + 0x124], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe2
ja 0x40c793
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x44]
add ecx, 0x57c0f93a
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0xb6
mov edx, dword [esp]
mov byte [esp + edx + 0x44], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe3
jb 0x40c760
mov ebp, dword [esp + 0x470]
mov esi, dword [esp + 0x46c]
lea edi, [esp + 0x44]
push 0
push 0
push 0
push 0
push edi
call eax
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x444c28]
xor ebx, ebx
xor eax, eax
test esi, esi
setne al
xor edi, edi
jmp dword [eax*4 + 0x444cd0]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x444cd8]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x444ce0]
mov ecx, dword [esp + 0x458]
mov eax, dword [0x449848]
mov dword [esp + 0x44], 0xc0c1c50e
mov byte [esp + 0x48], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 4
ja 0x40c850
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 0x44]
add edx, 0x5876f0c8
xor edx, esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x10]
add dl, 0xf5
mov esi, dword [esp]
mov byte [esp + esi + 0x44], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 5
jb 0x40c820
movzx edx, word [esp + 0x44]
push 0
push edx
push ecx
push ebx
call eax
xor ecx, ecx
mov dword [esp + 0xc], eax
test eax, eax
setne cl
mov dword [esp + 0x40], ebx
jmp dword [ecx*4 + 0x444c30]
xor edi, edi
xor ebx, ebx
mov esi, dword [esp + 0x46c]
jmp 0x40ccf5
mov eax, dword [0x44984c]
mov dword [esp + 0x10], 0x4fce4d4c
mov dword [esp + 0x14], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 7
ja 0x40c8ed
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + edx]
add ecx, 0xdc
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0x819678dc
mov dword [esp + 0x44], esi
mov ecx, dword [esp + 0x44]
add cl, 0x70
mov edx, dword [esp]
mov byte [esp + edx + 0x10], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 8
jb 0x40c8b0
mov ecx, dword [esp + 0x45c]
mov edx, dword [esp + 0x10]
jmp dword [0x444c3c]
mov dword [esp + 0x44], 0x95c797c6
mov dword [esp + 0x48], 0xa9fcabfd
mov dword [esp + 0x4c], 0xafae
mov byte [esp + 0x50], 0
mov dword [esp + 4], 0
mov esi, dword [esp + 4]
cmp esi, 0xc
ja case.0x40c86b.3
nop
nop
nop
nop
mov esi, dword [esp + 4]
mov ebx, dword [esp + 4]
movzx ebx, byte [esp + ebx + 0x44]
add esi, 0x5276681c
xor esi, ebx
mov dword [esp], esi
mov ebx, dword [esp]
add bl, 0x76
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x44], bl
inc dword [esp + 4]
mov esi, dword [esp + 4]
cmp esi, 0xd
jb 0x40c930
jmp case.0x40c86b.3
jmp dword [0x444c40]
mov dword [esp + 0x44], 0x95c797c6
mov dword [esp + 0x48], 0xa9fcabfd
mov dword [esp + 0x4c], 0xafae
mov byte [esp + 0x50], 0
mov dword [esp + 4], 0
mov esi, dword [esp + 4]
cmp esi, 0xc
ja 0x40c970
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 4]
mov ebx, dword [esp + 4]
movzx ebx, byte [esp + ebx + 0x44]
add esi, 0x5276681c
xor esi, ebx
mov dword [esp], esi
mov ebx, dword [esp]
add bl, 0x76
mov esi, dword [esp + 4]
mov byte [esp + esi + 0x44], bl
inc dword [esp + 4]
mov esi, dword [esp + 4]
cmp esi, 0xd
jb 0x40c9b0
jmp 0x40c970
push edx
push 0
push 0
push 0
push ecx
push edi
push dword [esp + 0x24]
call eax
mov ebx, eax
mov eax, dword [case.0x40c7b9.11]
mov esi, dword [esp + 0x46c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x444c58]
xor edi, edi
xor ebx, ebx
jmp 0x40cceb
jmp dword [0x444c6c]
movzx eax, byte [0x44997c]
jmp dword [eax*4 + 0x444c70]
mov dword [esp + 0x10], 0xbc24b2f2
mov dword [esp + 0x14], 0xb814be2a
mov dword [esp + 0x18], 0xa416ba10
mov dword [esp + 0x1c], 0xa0c7a6ff
mov dword [esp + 0x20], 0xac04a206
mov dword [esp + 0x24], 0xa801ae0e
mov dword [esp + 0x28], 0x943eaa0e
mov dword [esp + 0x2c], 0x9030960a
mov dword [esp + 0x30], 0x9c0a9233
mov dword [esp + 0x34], 0x98da9e0d
mov word [esp + 0x38], 0x9a99
mov dword [esp + 0x3a], 0
mov word [esp + 0x3e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2f
ja 0x40caee
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0xa2fc1905
xor eax, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
add al, 0x4c
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x30
jb 0x40cac0
movzx eax, word [esp + 0x10]
test ax, ax
je 0x40cb11
lea edi, [esp + 0x44]
lea ecx, [esp + 0x12]
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40cb00
mov word [edi], 0
movzx eax, word [0x44997e]
test ax, ax
je 0x40cb45
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi + ecx], ax
movzx eax, word [ecx + 0x449980]
add ecx, 2
test ax, ax
jne 0x40cb30
add edi, ecx
mov word [edi], 0
lea eax, [esp + 0x44]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [0x449858]
xor edi, edi
mov ecx, dword [esp + 0x460]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov edx, dword [esp + 0x46c]
push edx
push edx
push dword [esp + 0x470]
push eax
push ecx
push ebx
call dword [0x44985c]
xor ecx, ecx
test eax, eax
setne cl
mov eax, ebx
xor ebx, ebx
jmp dword [ecx*4 + 0x444c78]
push 0
push eax
mov edi, eax
call dword [0x449860]
xor ecx, ecx
test eax, eax
mov eax, edi
setne cl
xor edi, edi
xor ebx, ebx
jmp dword [ecx*4 + 0x444c80]
mov dword [esp + 8], eax
jmp dword [0x444c88]
mov dword [esp + 0x44], 0
xor edi, edi
xor ebx, ebx
jmp dword [0x444c90]
mov dword [esp + 0x44], 0
mov dword [esp + 0x44], 0
xor edi, edi
xor ebx, ebx
jmp dword [0x444c90]
push ebx
call fcn.0043ae00
add esp, 4
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x444ce0]
mov dword [esp + 0x10], 0
mov ecx, eax
add ecx, edi
lea edx, [esp + 0x10]
push edx
push dword [esp + 0x48]
push ecx
push dword [esp + 0x14]
mov ebx, eax
call dword [0x449868]
add edi, dword [esp + 0x10]
mov eax, 1
mov esi, dword [esp + 0x46c]
jmp dword [eax*4 + 0x444cb8]
jmp dword [eax*4 + 0x444cc0]
lea eax, [esp + 0x44]
push eax
push dword [esp + 0xc]
call dword [0x449864]
test eax, eax
setne cl
mov eax, dword [esp + 0x44]
test eax, eax
setne dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x444c98]
lea esi, [edi + eax]
inc esi
jmp dword [0x444ca4]
push esi
push ebx
call fcn.0043cb60
add esp, 8
nop
nop
nop
push esi
push ebx
call fcn.0043cb60
add esp, 8
jmp dword [0x444ca8]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x444cb0]
xor eax, eax
mov esi, dword [esp + 0x46c]
jmp dword [eax*4 + 0x444cb8]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x444cc8]
mov byte [ebx + edi], 0
mov eax, dword [esp + 8]
push eax
call dword [0x449870]
push dword [esp + 0xc]
call dword [0x449870]
push dword [esp + 0x40]
call dword [0x449870]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x444cd0]
mov dword [esi], ebx
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x444ce0]
jmp dword [0x444ce8]
mov dword [ebp], edi
jmp dword [0x444cf4]
mov dword [ebp], edi
mov dword [ebp], edi
jmp dword [0x444cf4]
test ebx, ebx
setne al
add esp, 0x444
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x444d04]
int3
push eax
sub esp, 0xdc
mov eax, esp
mov ecx, dword [0x449844]
mov dword [eax], 0x5fcd5d95
mov dword [eax + 4], 0x43eb41c4
mov dword [eax + 8], 0x47e845ee
mov dword [eax + 0xc], 0x4b9949e5
mov dword [eax + 0x10], 0x4fa24d9d
mov dword [eax + 0x14], 0x33d0319e
mov dword [eax + 0x18], 0x378d35da
mov dword [eax + 0x1c], 0x3b96399d
mov dword [eax + 0x20], 0x3fad3d9e
mov dword [eax + 0x24], 0x23b521a7
mov dword [eax + 0x28], 0x27ea25c2
mov dword [eax + 0x2c], 0x2bc82992
mov dword [eax + 0x30], 0x2ffc2df9
mov dword [eax + 0x34], 0x13c011c0
mov dword [eax + 0x38], 0x17f415cf
mov dword [eax + 0x3c], 0x1bb319af
mov dword [eax + 0x40], 0x1fca1db4
mov dword [eax + 0x44], 0x3dd01ca
mov dword [eax + 0x48], 0x79c05e2
mov dword [eax + 0x4c], 0xbdc09d0
mov dword [eax + 0x50], 0xfec0de1
mov dword [eax + 0x54], 0xf360f1cd
mov dword [eax + 0x58], 0xf758f562
mov dword [eax + 0x5c], 0xfb41f951
mov dword [eax + 0x60], 0xff5efd5d
mov dword [eax + 0x64], 0xe34be133
mov dword [eax + 0x68], 0xe735e576
mov dword [eax + 0x6c], 0xeb3de931
mov dword [eax + 0x70], 0xef02ed33
mov dword [eax + 0x74], 0xd306d13b
mov dword [eax + 0x78], 0xd73cd532
mov dword [eax + 0x7c], 0xdb10d91b
mov dword [eax + 0x80], 0xdf13dd6e
mov dword [eax + 0x84], 0xc32cc112
mov dword [eax + 0x88], 0xc768c522
mov dword [eax + 0x8c], 0xcb65c96d
mov dword [eax + 0x90], 0xcf2ccd6d
mov dword [eax + 0x94], 0xb317b107
mov dword [eax + 0x98], 0xb719b517
mov dword [eax + 0x9c], 0xbb53b927
mov dword [eax + 0xa0], 0xbf79bd5a
mov dword [eax + 0xa4], 0xa332a116
mov dword [eax + 0xa8], 0xa70ba533
mov dword [eax + 0xac], 0xab79a901
mov dword [eax + 0xb0], 0xaf7fad79
mov dword [eax + 0xb4], 0x937e9175
mov dword [eax + 0xb8], 0x977a9542
mov dword [eax + 0xbc], 0x9b769946
mov dword [eax + 0xc0], 0x9f7c9d4a
mov dword [eax + 0xc4], 0x8323812b
mov dword [eax + 0xc8], 0x87278524
mov dword [eax + 0xcc], 0x8b238914
mov dword [eax + 0xd0], 0x8f5b8d5b
mov dword [eax + 0xd4], 0x73a9715b
mov dword [eax + 0xd8], 0x77a1759c
mov dword [eax + 0xdc], 0x7b7879a0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0xdf
ja 0x40cfa1
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [eax + esi]
lea edi, [edx - 0x765f8cd5]
lea ebx, [edx + esi]
add ebx, 0x89a0732b
add edx, 0x2b
or edx, edi
and edx, esi
add edx, edx
sub ebx, edx
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp - 0x14]
add dl, 0x8f
mov esi, dword [ebp - 0x10]
mov byte [eax + esi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0xe0
jb 0x40cf60
push 0
push 0
push 0
push 0
push eax
call ecx
push eax
sub esp, 0xdc
mov eax, esp
sub esp, 8
mov ebx, esp
sub esp, 8
mov dword [ebp - 0x30], esp
sub esp, 0x10
mov dword [ebp - 0x18], esp
sub esp, 0x200
mov dword [ebp - 0x1c], esp
sub esp, 0x30
mov dword [ebp - 0x28], esp
sub esp, 8
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x2c], esp
mov ecx, dword [0x449844]
mov dword [ebp - 0x20], ecx
mov dword [eax], 0x5fcd5d95
mov dword [eax + 4], 0x43eb41c4
mov dword [eax + 8], 0x47e845ee
mov dword [eax + 0xc], 0x4b9949e5
mov dword [eax + 0x10], 0x4fa24d9d
mov dword [eax + 0x14], 0x33d0319e
mov dword [eax + 0x18], 0x378d35da
mov dword [eax + 0x1c], 0x3b96399d
mov dword [eax + 0x20], 0x3fad3d9e
mov dword [eax + 0x24], 0x23b521a7
mov dword [eax + 0x28], 0x27ea25c2
mov dword [eax + 0x2c], 0x2bc82992
mov dword [eax + 0x30], 0x2ffc2df9
mov dword [eax + 0x34], 0x13c011c0
mov dword [eax + 0x38], 0x17f415cf
mov dword [eax + 0x3c], 0x1bb319af
mov dword [eax + 0x40], 0x1fca1db4
mov dword [eax + 0x44], 0x3dd01ca
mov dword [eax + 0x48], 0x79c05e2
mov dword [eax + 0x4c], 0xbdc09d0
mov dword [eax + 0x50], 0xfec0de1
mov dword [eax + 0x54], 0xf360f1cd
mov dword [eax + 0x58], 0xf758f562
mov dword [eax + 0x5c], 0xfb41f951
mov dword [eax + 0x60], 0xff5efd5d
mov dword [eax + 0x64], 0xe34be133
mov dword [eax + 0x68], 0xe735e576
mov dword [eax + 0x6c], 0xeb3de931
mov dword [eax + 0x70], 0xef02ed33
mov dword [eax + 0x74], 0xd306d13b
mov dword [eax + 0x78], 0xd73cd532
mov dword [eax + 0x7c], 0xdb10d91b
mov dword [eax + 0x80], 0xdf13dd6e
mov dword [eax + 0x84], 0xc32cc112
mov dword [eax + 0x88], 0xc768c522
mov dword [eax + 0x8c], 0xcb65c96d
mov dword [eax + 0x90], 0xcf2ccd6d
mov dword [eax + 0x94], 0xb317b107
mov dword [eax + 0x98], 0xb719b517
mov dword [eax + 0x9c], 0xbb53b927
mov dword [eax + 0xa0], 0xbf79bd5a
mov dword [eax + 0xa4], 0xa332a116
mov dword [eax + 0xa8], 0xa70ba533
mov dword [eax + 0xac], 0xab79a901
mov dword [eax + 0xb0], 0xaf7fad79
mov dword [eax + 0xb4], 0x937e9175
mov dword [eax + 0xb8], 0x977a9542
mov dword [eax + 0xbc], 0x9b769946
mov dword [eax + 0xc0], 0x9f7c9d4a
mov dword [eax + 0xc4], 0x8323812b
mov dword [eax + 0xc8], 0x87278524
mov dword [eax + 0xcc], 0x8b238914
mov dword [eax + 0xd0], 0x8f5b8d5b
mov dword [eax + 0xd4], 0x73a9715b
mov dword [eax + 0xd8], 0x77a1759c
mov dword [eax + 0xdc], 0x7b7879a0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0xdf
ja 0x40d211
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
movzx edi, byte [eax + edi]
lea esi, [edx - 0x765f8cd5]
lea ecx, [edx + edi]
add ecx, 0x89a0732b
add edx, 0x2b
or edx, esi
and edx, edi
add edx, edx
sub ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x8f
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xe0
jb 0x40d1d0
push 0
push 0
push 0
push 0
push eax
call dword [ebp - 0x20]
jmp dword [0x444d14]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444d18]
xor ebx, ebx
jmp 0x40d5f5
jmp dword [0x444d20]
mov dword [ebx], 0x616066dd
mov word [ebx + 4], 0
jmp dword [0x444d2c]
mov dword [ebx], 0x616066dd
mov word [ebx + 4], 0
mov dword [ebx], 0x616066dd
mov word [ebx + 4], 0
jmp dword [0x444d2c]
mov ecx, dword [0x449848]
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 5
mov edi, dword [ebp - 0x18]
ja 0x40d2bc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [ebx + esi]
add edx, 0x23201622
xor edx, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xbc
mov esi, dword [ebp - 0x10]
mov byte [ebx + esi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 6
jb 0x40d290
movzx edx, word [ebx]
push 0
push edx
push 0x449878
mov dword [ebp - 0x20], eax
push eax
call ecx
xor ecx, ecx
mov dword [ebp - 0x24], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444d30]
xor ebx, ebx
jmp 0x40d5ec
mov eax, dword [0x44984c]
mov ebx, dword [ebp - 0x30]
mov dword [ebx], 0xc649c8cb
mov byte [ebx + 4], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
ja 0x40d345
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
lea esi, [ecx + 0x65]
add ecx, edx
and esi, edx
add esi, esi
sub ecx, esi
add ecx, 0x70b33965
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x52
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 5
jb 0x40d310
mov ecx, dword [ebx]
mov dword [edi], 0x8ff98dfc
mov dword [edi + 4], 0x8bf689fb
mov dword [edi + 8], 0xb5b4
mov byte [edi + 0xc], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0xc
mov ebx, dword [ebp - 0x34]
ja 0x40d3ac
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
movzx esi, byte [edi + esi]
add edx, 0xa12cca98
xor edx, esi
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
add dl, 0xec
mov esi, dword [ebp - 0x10]
mov byte [edi + esi], dl
inc dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
cmp edx, 0xd
jb 0x40d380
push ecx
push 0
push 0
push 0
push dword [ebp + 8]
push edi
mov edi, dword [ebp - 0x24]
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444d38]
xor ebx, ebx
jmp 0x40d5e5
xor edx, edx
mov ecx, dword [ebp + 0x20]
test ecx, ecx
setg dl
jmp dword [edx*4 + 0x444d40]
mov dword [ebp - 0x18], eax
movzx eax, byte [0x44997c]
mov esi, dword [ebp + 0x1c]
jmp dword [eax*4 + 0x444d48]
push ecx
push ecx
push ecx
push ecx
mov dword [ebp - 0x18], eax
push eax
call dword [0x449854]
movzx eax, byte [0x44997c]
mov esi, dword [ebp + 0x1c]
jmp dword [eax*4 + 0x444d48]
mov edx, dword [ebp - 0x28]
mov dword [edx], 0xc9c12ee
mov dword [edx + 4], 0x89c0e9e
mov dword [edx + 8], 0x49a0a90
mov dword [edx + 0xc], 0x2106cd
mov dword [edx + 0x10], 0x3cdc02e2
mov dword [edx + 0x14], 0x38a73ea2
mov dword [edx + 0x18], 0x34a23ada
mov dword [edx + 0x1c], 0x30d036be
mov dword [edx + 0x20], 0x2ca632d1
mov dword [edx + 0x24], 0x28ee2ebf
mov word [edx + 0x28], 0x2a2b
mov dword [edx + 0x2a], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2d
ja 0x40d4aa
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xeda0dcce
xor eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add al, 0x23
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2e
jb 0x40d480
movzx ecx, word [edx]
mov eax, dword [ebp - 0x1c]
test cx, cx
je 0x40d4d1
add edx, 2
mov eax, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40d4c0
mov word [eax], 0
movzx ecx, word [0x44997e]
test cx, cx
je 0x40d505
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x449980]
add edx, 2
test cx, cx
jne 0x40d4f0
add eax, edx
mov word [eax], 0
mov eax, dword [0x449858]
mov dword [ebx], 0x6e8d8c83
mov word [ebx + 4], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 5
ja 0x40d55c
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0x25de3467
xor ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
add cl, 0x1c
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 6
jb 0x40d530
push dword [ebx]
push 0xffffffffffffffff
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call eax
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
push esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push edx
mov ebx, esi
mov esi, dword [ebp - 0x18]
push esi
call dword [0x44985c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444d50]
xor ebx, ebx
jmp 0x40d5de
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
push eax
push ebx
push dword [ebp + 0x18]
push esi
call dword [0x44986c]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x444d58]
push 0
push esi
call dword [0x449860]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x444d60]
jmp 0x40d5de
mov bl, 1
push esi
call dword [0x449870]
push edi
call dword [0x449870]
push dword [ebp - 0x20]
call dword [0x449870]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
inc eax
add byte [esi - 0x3c], dh
inc eax
add byte [eax - 0x7fffbf3c], al
les eax, [eax]
add ah, 0x40
add byte [eax + 0x350040c4], al
les eax, [eax]
mov es, esp
inc eax
add byte [eax - 0x4fffbf3c], dh
les eax, [eax]
mov edx, 0xb00040c4
les eax, [eax]
rol bh, 0x40
mov dword [eax], case.0x40c7b9.1
jb 0x444bfa
inc eax
add byte [edx - 0x1ffbf38], al
mov dword [eax], case.0x40c7b9.1
jb 0x444bfa
inc eax
add byte [edx - 0x1ffbf38], al
enter 0x40, 0x76
leave
inc eax
add ch, ah
leave
inc eax
add byte [esi - 0x37], dh
inc eax
add byte [eax], dl
retf 0x40
rol dword [eax], cl
rcl bl, cl
inc eax
add bl, ah
rol dword [eax], cl
not ebx
inc eax
add byte [eax - 0x2b], ch
inc eax
add byte [esi], dl
aam 0x40
add byte [eax - 0x63ffbf2b], bl
aad 0x40
add dl, bl
aad 0x40
add cl, al
aad 0x40
add dl, bl
aad 0x40
add ah, bl
aad 0x40
inc eax
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], dh
rol byte [eax], cl
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
loopne 0x444d66
inc eax
add dh, cl
call 0xe93d4dca
inc eax
add al, bl
call 0xe9334dd2
inc eax
add byte [edx - 0x17], bh
inc eax
add byte [esi - 0x66ffbf17], cl
jmp 0xe9dd4de2