Function at 0x40d1b2
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x448
mov eax, dword [0x44ba54]
mov dword [esp + 0x48], 0xc97bcb27
mov dword [esp + 0x4c], 0xcd71cf46
mov dword [esp + 0x50], 0xc17ec370
mov dword [esp + 0x54], 0xc537c767
mov dword [esp + 0x58], 0xd928db0f
mov dword [esp + 0x5c], 0xdd3edf28
mov dword [esp + 0x60], 0xd17bd324
mov dword [esp + 0x64], 0xd564d76f
mov dword [esp + 0x68], 0xa91bab70
mov dword [esp + 0x6c], 0xad1baf21
mov dword [esp + 0x70], 0xa170a34c
mov dword [esp + 0x74], 0xa546a774
mov dword [esp + 0x78], 0xb94abb53
mov dword [esp + 0x7c], 0xbd4ebf4a
mov dword [esp + 0x80], 0xb152b371
mov dword [esp + 0x84], 0xb509b719
mov dword [esp + 0x88], 0x89408b06
mov dword [esp + 0x8c], 0x8d438f7c
mov dword [esp + 0x90], 0x810a836c
mov dword [esp + 0x94], 0x8572874a
mov dword [esp + 0x98], 0x997a9b7b
mov dword [esp + 0x9c], 0x9d2e9f5f
mov dword [esp + 0xa0], 0x912e932c
mov dword [esp + 0xa4], 0x953f972b
mov dword [esp + 0xa8], 0x69cc6b2f
mov dword [esp + 0xac], 0x6dd16fb5
mov dword [esp + 0xb0], 0x619363d8
mov dword [esp + 0xb4], 0x659367ab
mov dword [esp + 0xb8], 0x79887bad
mov dword [esp + 0xbc], 0x7db47f8d
mov dword [esp + 0xc0], 0x718a739c
mov dword [esp + 0xc4], 0x75ae77ad
mov dword [esp + 0xc8], 0x49994ba0
mov dword [esp + 0xcc], 0x4db24f94
mov dword [esp + 0xd0], 0x41fe43ac
mov dword [esp + 0xd4], 0x45fb47ff
mov dword [esp + 0xd8], 0x59ba5bff
mov dword [esp + 0xdc], 0x5de55f81
mov dword [esp + 0xe0], 0x51ef53f9
mov dword [esp + 0xe4], 0x55a957e1
mov dword [esp + 0xe8], 0x29ef2bb4
mov dword [esp + 0xec], 0x2d982f90
mov dword [esp + 0xf0], 0x2191239d
mov dword [esp + 0xf4], 0x25d7279b
mov dword [esp + 0xf8], 0x39cd3bd3
mov dword [esp + 0xfc], 0x3dcc3ff7
mov dword [esp + 0x100], 0x31c033cc
mov dword [esp + 0x104], 0x35c437c0
mov dword [esp + 0x108], 0x9ea0bc4
mov dword [esp + 0x10c], 0xda90fdd
mov dword [esp + 0x110], 0x1a503b6
mov dword [esp + 0x114], 0x5b907b6
mov dword [esp + 0x118], 0x19d11bf5
mov dword [esp + 0x11c], 0x1dd71fed
mov dword [esp + 0x120], 0x11e713ee
mov dword [esp + 0x124], 0x151617da
mov dword [esp + 0x128], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe3
ja 0x40c4c3
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x48]
add ecx, 0x59e0951f
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x15
mov edx, dword [esp]
mov byte [esp + edx + 0x48], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe4
jb 0x40c490
mov edi, dword [esp + 0x474]
mov ebx, dword [esp + 0x470]
lea ebp, [esp + 0x48]
push 0
push 0
push 0
push 0
push ebp
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x446cd4]
mov ecx, ebx
xor ebx, ebx
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 4], 0
jmp dword [eax*4 + 0x446d84]
mov ebx, dword [esp + 0x45c]
jmp dword [0x446cdc]
mov eax, dword [0x44ba58]
mov dword [esp + 0x48], 0x91aeac71
mov word [esp + 0x4c], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x40c580
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x48]
lea edi, [ecx + edx]
add edi, 0x8f98e91d
add ecx, 0x8f98e91d
not edx
or ecx, edx
sub edx, ecx
lea ecx, [edi + edx*2]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x4f
mov edx, dword [esp]
mov byte [esp + edx + 0x48], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x40c540
movzx ecx, word [esp + 0x48]
push 0
push ecx
push ebx
push esi
call eax
jmp case.0x40c4e9.2
movzx ecx, word [esp + 0x48]
push 0
push ecx
push ebx
push esi
call eax
jmp dword [0x446ce4]
mov eax, dword [0x44ba58]
mov dword [esp + 0x48], 0x91aeac71
mov word [esp + 0x4c], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x40c590
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x48]
lea edi, [ecx + edx]
add edi, 0x8f98e91d
add ecx, 0x8f98e91d
not edx
or ecx, edx
sub edx, ecx
lea ecx, [edi + edx*2]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x4f
mov edx, dword [esp]
mov byte [esp + edx + 0x48], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x40c5d0
jmp 0x40c590
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446cec]
mov dword [esp + 4], 0
xor ebx, ebx
jmp 0x40ca51
mov ecx, dword [0x44ba5c]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], 0xfe7ffcfd
mov word [esp + 0x14], 0
mov byte [esp + 0x16], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 6
ja 0x40c690
nop
mov edx, dword [esp]
mov edi, dword [esp]
movzx edi, byte [esp + edi + 0x10]
add edx, 0x69b344f0
xor edx, edi
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x48]
add dl, 0xf3
mov edi, dword [esp]
mov byte [esp + edi + 0x10], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 7
jb 0x40c660
mov edx, dword [esp + 0x10]
mov dword [esp + 0x48], 0xe331e13e
mov dword [esp + 0x4c], 0xe730e537
mov dword [esp + 0x50], 0xf9e6
mov dword [esp + 0xc], 0
mov edi, dword [esp + 0xc]
cmp edi, 0xb
ja 0x40c6fd
nop
nop
nop
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0xc]
movzx ebx, byte [esp + ebx + 0x48]
lea ecx, [edi + ebx]
add edi, 7
and edi, ebx
add edi, edi
sub ecx, edi
add ecx, 0x4c8dc407
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0x17
mov edi, dword [esp + 0xc]
mov byte [esp + edi + 0x48], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 0xc
jb 0x40c6c0
push edx
push 0
push 0
push 0
push dword [esp + 0x470]
push ebp
mov dword [esp + 0x5c], eax
push eax
call dword [esp + 0x24]
mov edi, eax
xor eax, eax
test edi, edi
setne al
mov dword [esp + 4], 0
xor ebx, ebx
jmp dword [eax*4 + 0x446cf4]
movzx eax, byte [0x44bb8c]
mov dword [esp + 0x40], esi
jmp dword [eax*4 + 0x446d0c]
mov ebp, dword [esp + 0x46c]
mov esi, dword [esp + 0x468]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x464]
jmp dword [0x446d14]
mov dword [esp + 0x10], 0x55a34b89
mov dword [esp + 0x14], 0x51bb57a1
mov dword [esp + 0x18], 0x5db153bb
mov dword [esp + 0x1c], 0x59785f64
mov dword [esp + 0x20], 0x65835bbd
mov dword [esp + 0x24], 0x618e6785
mov dword [esp + 0x28], 0x6d996385
mov dword [esp + 0x2c], 0x698f6f91
mov dword [esp + 0x30], 0x758d6b88
mov dword [esp + 0x34], 0x71b57786
mov word [esp + 0x38], 0x7372
mov dword [esp + 0x3a], 0
mov byte [esp + 0x3e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x40c80e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x2122af8e
xor eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
add al, 0x3c
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x40c7e0
movzx eax, word [esp + 0x10]
test ax, ax
je 0x40c832
lea ebp, [esp + 0x48]
lea ecx, [esp + 0x12]
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c820
mov word [ebp], 0
movzx eax, word [0x44bb8e]
test ax, ax
je 0x40c866
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + ecx], ax
movzx eax, word [ecx + 0x44bb90]
add ecx, 2
test ax, ax
jne 0x40c850
add ebp, ecx
mov word [ebp], 0
lea eax, [esp + 0x48]
push 0x20000000
push 0xffffffffffffffff
push eax
push edi
call dword [0x44ba68]
mov ebp, dword [esp + 0x46c]
mov esi, dword [esp + 0x468]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x464]
jmp dword [0x446d14]
xor eax, eax
mov ecx, edi
neg ecx
sbb eax, eax
push 0
push ebp
push ebp
push esi
push eax
push edi
push dword [esp + 0x20]
call dword [0x44ba6c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor ebx, ebx
mov eax, edi
neg eax
mov eax, 0
sbb eax, eax
push 0
push ebp
push ebp
push esi
push eax
push edi
push dword [esp + 0x20]
call dword [0x44ba6c]
jmp dword [0x446d20]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 8]
jmp dword [ecx*4 + 0x446d24]
push 0
push edi
call dword [0x44ba70]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
xor ebx, ebx
jmp dword [ecx*4 + 0x446d2c]
jmp dword [0x446d74]
mov dword [esp + 0x48], 0
mov dword [esp + 4], 0
xor ebx, ebx
jmp case.0x40c4e9.36
add ebx, dword [esp + 0x10]
mov dword [esp + 4], ebx
mov ebx, ebp
xor eax, eax
jmp dword [eax*4 + 0x446d64]
lea eax, [esp + 0x48]
push eax
push edi
call dword [0x44ba74]
test eax, eax
setne cl
mov eax, dword [esp + 0x48]
test eax, eax
setne dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x446d34]
mov ecx, dword [esp + 4]
add eax, ecx
inc eax
push eax
push ebx
call fcn.0043f340
add esp, 8
mov ebp, eax
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x446d3c]
mov ebx, dword [esp + 4]
jmp dword [0x446d58]
mov eax, dword [case.0x40c4e9.30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, 1
jmp dword [eax*4 + 0x446d64]
mov dword [esp + 0x10], 0
lea eax, [ebx + ebp]
lea ecx, [esp + 0x10]
push ecx
push dword [esp + 0x4c]
push eax
push edi
call dword [0x44ba78]
mov dword [esp + 0x10], 0
lea eax, [ebx + ebp]
lea ecx, [esp + 0x10]
push ecx
push dword [esp + 0x4c]
push eax
push edi
call dword [0x44ba78]
jmp dword [0x446d5c]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446d6c]
jmp dword [0x446d74]
mov eax, dword [esp + 4]
mov byte [ebx + eax], 0
jmp dword [0x446d74]
push ebx
call fcn.0043d3f0
add esp, 4
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446db4]
push dword [esp + 0x44]
call dword [0x44ba80]
mov edi, dword [esp + 0x474]
push esi
call dword [0x44ba80]
xor eax, eax
mov ecx, dword [esp + 0x470]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x446d84]
jmp dword [0x446d98]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x446d9c]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446db4]
mov dword [ecx], ebx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x446db4]
mov eax, dword [esp + 4]
mov dword [edi], eax
test ebx, ebx
setne al
add esp, 0x448
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
call dword [0x44ba80]
push edi
call dword [0x44ba80]
jmp dword [0x446d7c]
push eax
mov ebx, esp
mov eax, dword [0x44ba54]
mov dword [ebp - 0x118], 0x96e694c2
mov dword [ebp - 0x114], 0x92e8901b
mov dword [ebp - 0x110], 0xaedbacd9
mov dword [ebp - 0x10c], 0xaa9aa8ca
mov dword [ebp - 0x108], 0xa691a4ea
mov dword [ebp - 0x104], 0xa283a091
mov dword [ebp - 0x100], 0xbed6bc85
mov dword [ebp - 0xfc], 0xbacdb8c2
mov dword [ebp - 0xf8], 0xb6c6b4c9
mov dword [ebp - 0xf4], 0xb23eb038
mov dword [ebp - 0xf0], 0xce99cced
mov dword [ebp - 0xec], 0xcaebc8a5
mov dword [ebp - 0xe8], 0xc6f7c4f6
mov dword [ebp - 0xe4], 0xc2f3c0f7
mov dword [ebp - 0xe0], 0xdeffdc98
mov dword [ebp - 0xdc], 0xdaa0d8b0
mov dword [ebp - 0xd8], 0xd699d4a3
mov dword [ebp - 0xd4], 0xd296d09d
mov dword [ebp - 0xd0], 0xee67eccd
mov dword [ebp - 0xcc], 0xeaa7e8a7
mov dword [ebp - 0xc8], 0xe6c7e4de
mov dword [ebp - 0xc4], 0xe293e0a2
mov dword [ebp - 0xc0], 0xfe8bfc8d
mov dword [ebp - 0xbc], 0xfa92f886
mov dword [ebp - 0xb8], 0xf695f48a
mov dword [ebp - 0xb4], 0xf288f0a4
mov dword [ebp - 0xb0], 0xe3e0c81
mov dword [ebp - 0xac], 0xa460846
mov dword [ebp - 0xa8], 0x631044c
mov dword [ebp - 0xa4], 0x24d004c
mov dword [ebp - 0xa0], 0x1e271c3d
mov dword [ebp - 0x9c], 0x1a43184c
mov dword [ebp - 0x98], 0x16401479
mov dword [ebp - 0x94], 0x12271045
mov dword [ebp - 0x90], 0x2e5b2c0d
mov dword [ebp - 0x8c], 0x2a5e2852
mov dword [ebp - 0x88], 0x2607245a
mov dword [ebp - 0x84], 0x225c2078
mov dword [ebp - 0x80], 0x3e4a3c40
mov dword [ebp - 0x7c], 0x3a003848
mov dword [ebp - 0x78], 0x366a3415
mov dword [ebp - 0x74], 0x32413049
mov dword [ebp - 0x70], 0x4e384c3c
mov dword [ebp - 0x6c], 0x4a7a4836
mov dword [ebp - 0x68], 0x46744476
mov dword [ebp - 0x64], 0x4275400a
mov dword [ebp - 0x60], 0x5e695c6d
mov dword [ebp - 0x5c], 0x5a6d5869
mov dword [ebp - 0x58], 0x56775465
mov dword [ebp - 0x54], 0x5230503c
mov dword [ebp - 0x50], 0x6e0c6c13
mov dword [ebp - 0x4c], 0x6a10681b
mov dword [ebp - 0x48], 0x66286454
mov dword [ebp - 0x44], 0x622a602c
mov dword [ebp - 0x40], 0x7e327c4b
mov dword [ebp - 0x3c], 0x7a7b7837
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xe3
ja 0x40cd67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x118]
add ecx, 0x6a4c8898
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xf3
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x118], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xe4
jb 0x40cd30
lea ecx, [ebp - 0x118]
push 0
push 0
push 0
push 0
push ecx
call eax
jmp dword [0x446dd8]
mov eax, dword [0x44ba54]
mov dword [ebp - 0x118], 0x96e694c2
mov dword [ebp - 0x114], 0x92e8901b
mov dword [ebp - 0x110], 0xaedbacd9
mov dword [ebp - 0x10c], 0xaa9aa8ca
mov dword [ebp - 0x108], 0xa691a4ea
mov dword [ebp - 0x104], 0xa283a091
mov dword [ebp - 0x100], 0xbed6bc85
mov dword [ebp - 0xfc], 0xbacdb8c2
mov dword [ebp - 0xf8], 0xb6c6b4c9
mov dword [ebp - 0xf4], 0xb23eb038
mov dword [ebp - 0xf0], 0xce99cced
mov dword [ebp - 0xec], 0xcaebc8a5
mov dword [ebp - 0xe8], 0xc6f7c4f6
mov dword [ebp - 0xe4], 0xc2f3c0f7
mov dword [ebp - 0xe0], 0xdeffdc98
mov dword [ebp - 0xdc], 0xdaa0d8b0
mov dword [ebp - 0xd8], 0xd699d4a3
mov dword [ebp - 0xd4], 0xd296d09d
mov dword [ebp - 0xd0], 0xee67eccd
mov dword [ebp - 0xcc], 0xeaa7e8a7
mov dword [ebp - 0xc8], 0xe6c7e4de
mov dword [ebp - 0xc4], 0xe293e0a2
mov dword [ebp - 0xc0], 0xfe8bfc8d
mov dword [ebp - 0xbc], 0xfa92f886
mov dword [ebp - 0xb8], 0xf695f48a
mov dword [ebp - 0xb4], 0xf288f0a4
mov dword [ebp - 0xb0], 0xe3e0c81
mov dword [ebp - 0xac], 0xa460846
mov dword [ebp - 0xa8], 0x631044c
mov dword [ebp - 0xa4], 0x24d004c
mov dword [ebp - 0xa0], 0x1e271c3d
mov dword [ebp - 0x9c], 0x1a43184c
mov dword [ebp - 0x98], 0x16401479
mov dword [ebp - 0x94], 0x12271045
mov dword [ebp - 0x90], 0x2e5b2c0d
mov dword [ebp - 0x8c], 0x2a5e2852
mov dword [ebp - 0x88], 0x2607245a
mov dword [ebp - 0x84], 0x225c2078
mov dword [ebp - 0x80], 0x3e4a3c40
mov dword [ebp - 0x7c], 0x3a003848
mov dword [ebp - 0x78], 0x366a3415
mov dword [ebp - 0x74], 0x32413049
mov dword [ebp - 0x70], 0x4e384c3c
mov dword [ebp - 0x6c], 0x4a7a4836
mov dword [ebp - 0x68], 0x46744476
mov dword [ebp - 0x64], 0x4275400a
mov dword [ebp - 0x60], 0x5e695c6d
mov dword [ebp - 0x5c], 0x5a6d5869
mov dword [ebp - 0x58], 0x56775465
mov dword [ebp - 0x54], 0x5230503c
mov dword [ebp - 0x50], 0x6e0c6c13
mov dword [ebp - 0x4c], 0x6a10681b
mov dword [ebp - 0x48], 0x66286454
mov dword [ebp - 0x44], 0x622a602c
mov dword [ebp - 0x40], 0x7e327c4b
mov dword [ebp - 0x3c], 0x7a7b7837
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xe3
ja 0x40cfd7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x118]
add ecx, 0x6a4c8898
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xf3
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x118], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xe4
jb 0x40cfa0
lea ecx, [ebp - 0x118]
push 0
push 0
push 0
push 0
push ecx
call eax
jmp case.0x40c4e9.63
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446ddc]
xor ebx, ebx
jmp 0x40d5bf
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], edi
mov ecx, dword [0x44ba58]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x118], 0xdad5d528
mov word [ebp - 0x114], 0
mov byte [ebp - 0x112], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 6
ja 0x40d086
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x118]
lea edi, [edx + 0x13dd8875]
lea ebx, [edx + ecx]
add ebx, 0x13dd8875
add edx, 0x75
or edx, edi
and edx, ecx
add edx, edx
sub ebx, edx
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x18]
add cl, 0x5e
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x118], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 7
jb 0x40d040
movzx ecx, word [ebp - 0x118]
push 0
push ecx
push 0x44ba88
mov dword [ebp - 0x11c], eax
push eax
call dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446de4]
xor ebx, ebx
jmp 0x40d5b3
mov eax, dword [0x44ba5c]
mov dword [ebp - 0x18], 0x56d75455
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
lea ebx, [ebp - 0x118]
ja 0x40d114
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x18]
add ecx, 0x99579d4
xor ecx, edx
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x118]
add cl, 0x7f
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x18], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 5
jb 0x40d0e0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x118], 0xd96bdb54
mov dword [ebp - 0x114], 0xdd6adf6d
mov word [ebp - 0x110], 0xd3dc
mov dword [ebp - 0x10e], 0
mov word [ebp - 0x10a], 0
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x24]
cmp edx, 0xf
ja 0x40d194
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x24]
movzx edi, byte [ebp + edi - 0x118]
add edx, 0xd9f58d1f
xor edx, edi
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x10]
add dl, 5
mov edi, dword [ebp - 0x24]
mov byte [ebp + edi - 0x118], dl
inc dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
cmp edx, 0x10
jb 0x40d160
push ecx
push 0
push 0
push 0
push dword [ebp + 8]
push ebx
push dword [ebp - 0x2c]
call eax
mov dword [ebp - 0x1c], eax
mov eax, dword [case.0x40d0a9.5]
mov ebx, dword [ebp - 0x30]
nop
jmp eax
xor eax, eax
cmp dword [ebp - 0x1c], 0
setne al
mov dword [ebp - 0x28], 0
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
jmp dword [eax*4 + 0x446dfc]
xor eax, eax
test ecx, ecx
setg al
jmp dword [eax*4 + 0x446e04]
movzx eax, byte [0x44bb8c]
jmp dword [eax*4 + 0x446e1c]
push ecx
push ecx
push ecx
push ecx
push dword [ebp - 0x1c]
call dword [0x44ba64]
movzx eax, byte [0x44bb8c]
jmp dword [eax*4 + 0x446e1c]
jmp dword [0x446e24]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x28], eax
jmp dword [0x446e5c]
mov dword [ebx], 0
push ebx
push dword [ebp + 0x1c]
push edi
push esi
call dword [0x44ba7c]
mov dword [ebx], 0
push ebx
push dword [ebp + 0x1c]
push edi
push esi
call dword [0x44ba7c]
jmp dword [0x446e48]
xor ecx, ecx
test eax, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x446e4c]
push 0
push esi
call dword [0x44ba70]
xor ecx, ecx
test eax, eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x446e54]
mov al, 1
mov dword [ebp - 0x28], eax
jmp dword [0x446e5c]
mov edi, dword [ebp + 0x18]
jmp dword [0x446e40]
xor eax, eax
mov edx, dword [ebp + 0xc]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push edx
mov esi, dword [ebp - 0x1c]
push esi
call dword [0x44ba6c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446e34]
mov dword [ebp - 0x28], 0
jmp dword [0x446e5c]
mov dword [esi], 0xa232a0ec
mov dword [esi + 4], 0xae3aac3c
mov dword [esi + 8], 0xaac4a8c2
mov dword [esi + 0xc], 0xd6f7d48f
mov dword [esi + 0x10], 0xd2b2d0b0
mov dword [esi + 0x14], 0xdeb1dcb0
mov dword [esi + 0x18], 0xda4cd8b8
mov dword [esi + 0x1c], 0xc6a6c45c
mov dword [esi + 0x20], 0xc258c0a3
mov dword [esi + 0x24], 0xce88cc5d
mov dword [esi + 0x28], 0xc8c9
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
cmp eax, 0x2b
ja 0x40d360
nop
nop
nop
nop
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add edx, 0xafe70d34
add eax, 0xafe70d34
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
add al, 0x6b
mov ecx, dword [ebp - 0x18]
mov byte [esi + ecx], al
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0x2c
jb 0x40d320
movzx ecx, word [esi]
mov eax, dword [ebp - 0x20]
test cx, cx
je 0x40d391
lea edx, [esi + 2]
mov eax, dword [ebp - 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40d380
mov word [eax], 0
movzx ecx, word [0x44bb8e]
test cx, cx
je 0x40d3c5
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44bb90]
add edx, 2
test cx, cx
jne 0x40d3b0
add eax, edx
mov word [eax], 0
mov eax, dword [0x44ba68]
mov ebx, dword [ebp - 0x34]
mov dword [ebx], 0x40dfdedd
mov dword [ebx + 4], 0
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
ja 0x40d422
nop
nop
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
movzx edx, byte [ebx + edx]
add ecx, 0x333057d
xor ecx, edx
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x118]
add cl, 0x60
mov edx, dword [ebp - 0x18]
mov byte [ebx + edx], cl
inc dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x40d3f0
push dword [ebx]
push 0xffffffffffffffff
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
call eax
mov dword [esi], 0xa232a0ec
mov dword [esi + 4], 0xae3aac3c
mov dword [esi + 8], 0xaac4a8c2
mov dword [esi + 0xc], 0xd6f7d48f
mov dword [esi + 0x10], 0xd2b2d0b0
mov dword [esi + 0x14], 0xdeb1dcb0
mov dword [esi + 0x18], 0xda4cd8b8
mov dword [esi + 0x1c], 0xc6a6c45c
mov dword [esi + 0x20], 0xc258c0a3
mov dword [esi + 0x24], 0xce88cc5d
mov dword [esi + 0x28], 0xc8c9
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
cmp eax, 0x2b
ja 0x40d4d0
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [esi + ecx]
lea edx, [eax + ecx]
add edx, 0xafe70d34
add eax, 0xafe70d34
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
add al, 0x6b
mov ecx, dword [ebp - 0x18]
mov byte [esi + ecx], al
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 0x2c
jb 0x40d490
movzx ecx, word [esi]
mov eax, dword [ebp - 0x20]
test cx, cx
je 0x40d501
lea edx, [esi + 2]
mov eax, dword [ebp - 0x20]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40d4f0
mov word [eax], 0
movzx ecx, word [0x44bb8e]
test cx, cx
je 0x40d535
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x44bb90]
add edx, 2
test cx, cx
jne 0x40d520
add eax, edx
mov word [eax], 0
mov eax, dword [0x44ba68]
mov ebx, dword [ebp - 0x34]
mov dword [ebx], 0x40dfdedd
mov dword [ebx + 4], 0
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
ja 0x40d592
nop
nop
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
movzx edx, byte [ebx + edx]
add ecx, 0x333057d
xor ecx, edx
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x118]
add cl, 0x60
mov edx, dword [ebp - 0x18]
mov byte [ebx + edx], cl
inc dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x40d560
push dword [ebx]
push 0xffffffffffffffff
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
call eax
mov ebx, dword [ebp - 0x30]
jmp dword [0x446e2c]
push dword [ebp - 0x2c]
call dword [0x44ba80]
mov ebx, dword [ebp - 0x28]
push dword [ebp - 0x11c]
call dword [0x44ba80]
mov eax, dword [case.0x40c4e9.104]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push esi
call dword [0x44ba80]
push esi
call dword [0x44ba80]
jmp dword [0x446e64]
les eax, [eax]
or al, ch
inc eax
add byte [edx + 0x170040c5], ah
lds eax, [eax]
adc eax, 0xa20040c6
lds eax, [eax]
and eax, esi
inc eax
add byte [edx], dh
mov byte [eax], 0x47
retf 0x40