Function at 0x40d2f8
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, 0xcd0
mov eax, dword [0x43c894]
mov dword [esp + 0xb4], 0x1f63b772
mov word [esp + 0xb8], 0
mov byte [esp + 0xba], 0
mov dword [esp + 0x1b4], 0
mov ecx, dword [esp + 0x1b4]
cmp ecx, 6
ja 0x40d3a5
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1b4]
movzx edx, byte [esp + edx + 0xb4]
lea esi, [ecx + edx]
add esi, 0xbd096e3a
add ecx, 0xbd096e3a
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x2c0], esi
mov ecx, dword [esp + 0x2c0]
add cl, 0xde
mov edx, dword [esp + 0x1b4]
mov byte [esp + edx + 0xb4], cl
inc dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b4]
cmp ecx, 7
jb 0x40d348
mov edx, dword [0x43c890]
mov dword [esp + 0x2c0], 0xb64e5251
mov dword [esp + 0x2c4], 0x565d504e
mov dword [esp + 0x2c8], 0x4e5d5446
mov dword [esp + 0x2cc], 0x66757669
mov dword [esp + 0x2d0], 0x7dac6c6f
mov dword [esp + 0x2d4], 0xb38b7f61
mov dword [esp + 0x2d8], 0x7fa4b9be
mov dword [esp + 0x2dc], 0xd793797d
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp ecx, 0x23
ja 0x40d469
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x18]
movzx esi, byte [esp + esi + 0x2c0]
add ecx, 0xc03d9d54
xor ecx, esi
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x1b4]
add cl, 0x5c
mov esi, dword [esp + 0x18]
mov byte [esp + esi + 0x2c0], cl
inc dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp ecx, 0x24
jb 0x40d428
movzx ebx, byte [esp + 0x2c0]
lea ecx, [esp + 0x1b4]
test bl, bl
je 0x40d493
lea esi, [esp + 0x2c1]
nop
nop
nop
nop
nop
mov byte [ecx], bl
inc ecx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40d488
mov byte [ecx], 0
movzx ebx, byte [edx]
test bl, bl
je 0x40d4b3
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], bl
inc ecx
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x40d4a8
mov byte [ecx], 0
movzx edx, byte [esp + 0xb4]
test dl, dl
je 0x40d4e3
lea esi, [esp + 0xb5]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x40d4d8
mov byte [ecx], 0
movzx edx, byte [eax]
test dl, dl
je 0x40d503
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x40d4f8
mov byte [ecx], 0
mov esi, ecx
not esi
lea eax, [esp + 0x1b4]
and esi, eax
mov edx, eax
not edx
and edx, ecx
mov dword [esp + 0x2c0], 0x832d81c3
mov dword [esp + 0x2c4], 0x8732852a
mov dword [esp + 0x2c8], 0x8b24892d
mov dword [esp + 0x2cc], 0x8fe38d38
mov dword [esp + 0x2d0], 0x932b91c4
mov dword [esp + 0x2d4], 0x97339524
mov dword [esp + 0x2d8], 0x9bfa99e2
mov dword [esp + 0x2dc], 0x9f2e9d3d
mov dword [esp + 0x2e0], 0xe34ee150
mov dword [esp + 0x2e4], 0xe745e54d
mov dword [esp + 0x2e8], 0xeb5ee949
mov dword [esp + 0x2ec], 0xef41ed45
mov dword [esp + 0x2f0], 0xf39df15e
mov dword [esp + 0x2f4], 0xf79bf54c
mov dword [esp + 0x2f8], 0xfb4df94f
mov dword [esp + 0x2fc], 0xff93fd4b
mov dword [esp + 0x300], 0xc36dc166
mov dword [esp + 0x304], 0xc76bc576
mov dword [esp + 0x308], 0xcb7fc9a5
mov dword [esp + 0x30c], 0xcf62cd7e
mov dword [esp + 0x310], 0xd37cd175
mov dword [esp + 0x314], 0xd779d577
mov dword [esp + 0x318], 0xdb7fd97c
mov dword [esp + 0x31c], 0xdfd3dd78
mov dword [esp + 0x320], 0x2322212a
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp ecx, 0x63
ja 0x40d689
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x18]
movzx edi, byte [esp + edi + 0x2c0]
add ecx, 0xdddf02a0
xor ecx, edi
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xb4]
add cl, 0xe0
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x2c0], cl
inc dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp ecx, 0x64
jb 0x40d648
sub edx, esi
mov dword [esp + 0xb4], 0x7f1f792b
mov dword [esp + 0xb8], 0x630b7dec
mov dword [esp + 0xbc], 0x6160
mov dword [esp + 0x258], 0
mov ecx, dword [esp + 0x258]
cmp ecx, 0xb
ja 0x40d712
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x258]
mov esi, dword [esp + 0x258]
movzx esi, byte [esp + esi + 0xb4]
add ecx, 0xc9b1d0ea
xor ecx, esi
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
add cl, 0x6e
mov esi, dword [esp + 0x258]
mov byte [esp + esi + 0xb4], cl
inc dword [esp + 0x258]
mov ecx, dword [esp + 0x258]
cmp ecx, 0xc
jb 0x40d6c8
lea ecx, [esp + 0xb0]
lea esi, [esp + 0xa4]
lea ebx, [esp + 0x2c0]
lea edi, [esp + 0xb4]
push ecx
push esi
push edx
push eax
push ebx
push edi
push 0x4419c4
call fcn.0040c0e8
add esp, 0x1c
movzx eax, al
sar bh, 0x24
test eax, edx
rol dword [ebx], 1
sar bh, 0x24
test eax, edx
rol dword [ebx], 1
xor esi, esi
xor eax, eax
test esi, 0
sete al
sar bh, 0x24
test eax, ebx
rol dword [ebx], 1
sar bh, 0x24
test eax, ebx
rol dword [ebx], 1
push 0x104
push ebx
call dword [0x43b544]
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xa4]
mov edx, ecx
and edx, 0xfffffffc
mov esi, ecx
and esi, 3
mov eax, ecx
or eax, 3
imul eax, esi
xor esi, 3
imul esi, edx
add eax, esi
shr eax, 2
movzx edx, byte [ebx + ecx - 1]
cmp edx, 0x3d
je 0x40d7a5
cmp edx, 0x2e
jne 0x40d7a6
dec eax
movzx ecx, byte [ebx + ecx - 2]
cmp ecx, 0x3d
je 0x40d7b5
cmp ecx, 0x2e
jne 0x40d7bc
mov ecx, eax
not ecx
lea eax, [ecx + eax*2]
push eax
call fcn.00409648
add esp, 4
mov esi, eax
push eax
push ebx
call fcn.0042fdd8
add esp, 8
push dword [esp + 0xa4]
call fcn.00432fc8
add esp, 4
xor eax, eax
test esi, esi
sete al
sar bh, 0x24
test eax, ebx
rol dword [ebx], 1
inc ebx
invalid
sar bh, 0x24
test eax, ebx
rol dword [ebx], 1
inc ebx
add bh, bh
and eax, 0x43d1e0
inc ebx
add bh, bh
and eax, 0x43d1e0
push esi
call fcn.00402478
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00402478
add esp, 4
les eax, [edi + edi*8]
and eax, 0x43d1ec
inc ebx
invalid
les eax, [edi + edi*8]
and eax, 0x43d1ec
inc ebx
add bh, bh
and eax, 0x43d1f0
inc ebx
add bh, bh
and eax, 0x43d1f0
push esi
mov esi, eax
call fcn.00409658
mov esi, 0xf089ffff
mov esi, 0xf089ffff
add esp, 4
mov ebx, eax
push eax
call fcn.00402f18
add esp, 4
mov esi, eax
mov word [esp + 0x2c0], 0xa
mov byte [esp + 0x2c2], 0x9e
mov word [esp + 0x2c3], 0
mov byte [esp + 0x2c5], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 5
ja 0x40d8c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
movzx ecx, byte [esp + ecx + 0x2c0]
lea edx, [eax + 0x65]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x21a19c65
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 7
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x2c0], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 6
jb 0x40d878
lea eax, [esp + 0x2c0]
push eax
push esi
call fcn.00403068
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
sar edi, 0x24
invalid
clc
rol dword [ebx], 1
sar edi, 0x24
invalid
sar bh, 0x24
test dword [eax], eax
rol byte [ebx], cl
push 0
push 0
call dword [0x43b57c]
shr eax, 0x1f
pop ds
pop ds
jmp dword [eax*4 + 0x43d208]
pop ds
jmp dword [eax*4 + 0x43d210]
add bh, bh
and al, 0x85
sbb dl, dl
inc ebx
add bh, bh
and eax, 0x43d224
push ebx
call fcn.004034b8
add esp, 4
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sar bh, 0x24
test dword [eax - 0x2e], ebp
inc ebx
add bh, bh
and eax, 0x43d274
mov dword [esp + 0x18], 0x4fd349ef
mov dword [esp + 0x1c], 0x43104de8
mov dword [esp + 0x20], 0x47ce41e5
mov dword [esp + 0x24], 0xbbda45e1
mov dword [esp + 0x28], 0xbf29b9de
mov dword [esp + 0x2c], 0xb313bd28
mov dword [esp + 0x30], 0xb722b126
mov dword [esp + 0x34], 0xabf9b5d4
mov dword [esp + 0x38], 0xaf37a935
mov dword [esp + 0x3c], 0xa3c2ad3e
mov dword [esp + 0x40], 0xa73ba107
mov dword [esp + 0x44], 0x9bc8a500
mov dword [esp + 0x48], 0x9f16993d
mov dword [esp + 0x4c], 0x93f29d39
mov dword [esp + 0x50], 0x97c591f6
mov dword [esp + 0x54], 0x8bea9533
mov dword [esp + 0x58], 0x8f17891c
mov dword [esp + 0x5c], 0x83278d11
mov dword [esp + 0x60], 0x87138113
mov dword [esp + 0x64], 0xfb9a8510
mov dword [esp + 0x68], 0xff6af9ab
mov dword [esp + 0x6c], 0xf3a5fd9c
mov dword [esp + 0x70], 0xf7a5f190
mov dword [esp + 0x74], 0xeb79f566
mov dword [esp + 0x78], 0xef78e94e
mov dword [esp + 0x7c], 0xe343ed49
mov dword [esp + 0x80], 0xe786e17f
mov dword [esp + 0x84], 0xdbbae5be
mov dword [esp + 0x88], 0xdf7bd97c
mov dword [esp + 0x8c], 0xd3b2dd40
mov dword [esp + 0x90], 0xd7d6d1b6
mov dword [esp + 0x94], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x7f
ja 0x40dccb
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0xeacbccf2
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x46
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x80
jb 0x40dc98
movzx ecx, word [esp + 0x18]
lea eax, [esp + 0x2c0]
test cx, cx
je 0x40dcf9
lea eax, [esp + 0x2c0]
lea edx, [esp + 0x1a]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40dce8
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x40dd29
lea edx, [esi + 2]
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 0x40dd18
mov dword [eax], 0x220022
mov dword [eax + 4], 0x22
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x44
mov dword [esp + 0x44], 1
push 0xc9be8534
push dword [0x442ccc]
call fcn.004368f8
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x2c0]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0
push 0x8000000
push 0
push 0
add byte [edx], ch
add byte [edx], ch
push edx
push 0
call eax
mov dword [esp + 0x18], 0x4fd349ef
mov dword [esp + 0x1c], 0x43104de8
mov dword [esp + 0x20], 0x47ce41e5
mov dword [esp + 0x24], 0xbbda45e1
mov dword [esp + 0x28], 0xbf29b9de
mov dword [esp + 0x2c], 0xb313bd28
mov dword [esp + 0x30], 0xb722b126
mov dword [esp + 0x34], 0xabf9b5d4
mov dword [esp + 0x38], 0xaf37a935
mov dword [esp + 0x3c], 0xa3c2ad3e
mov dword [esp + 0x40], 0xa73ba107
mov dword [esp + 0x44], 0x9bc8a500
mov dword [esp + 0x48], 0x9f16993d
mov dword [esp + 0x4c], 0x93f29d39
mov dword [esp + 0x50], 0x97c591f6
mov dword [esp + 0x54], 0x8bea9533
mov dword [esp + 0x58], 0x8f17891c
mov dword [esp + 0x5c], 0x83278d11
mov dword [esp + 0x60], 0x87138113
mov dword [esp + 0x64], 0xfb9a8510
mov dword [esp + 0x68], 0xff6af9ab
mov dword [esp + 0x6c], 0xf3a5fd9c
mov dword [esp + 0x70], 0xf7a5f190
mov dword [esp + 0x74], 0xeb79f566
mov dword [esp + 0x78], 0xef78e94e
mov dword [esp + 0x7c], 0xe343ed49
mov dword [esp + 0x80], 0xe786e17f
mov dword [esp + 0x84], 0xdbbae5be
mov dword [esp + 0x88], 0xdf7bd97c
mov dword [esp + 0x8c], 0xd3b2dd40
mov dword [esp + 0x90], 0xd7d6d1b6
mov dword [esp + 0x94], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x7f
ja 0x40df5b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x18]
add eax, 0xeacbccf2
xor eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x46
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x80
jb 0x40df28
movzx ecx, word [esp + 0x18]
mov eax, edi
test cx, cx
je 0x40df89
lea eax, [esp + 0x2c0]
lea edx, [esp + 0x1a]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40df78
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x40dfb9
lea edx, [esi + 2]
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 0x40dfa8
mov dword [eax], 0x220022
mov dword [eax + 4], 0x22
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x44
mov dword [esp + 0x44], 1
push 0xc9be8534
push dword [0x442ccc]
call fcn.004368f8
add esp, 8
lea ecx, [esp + 8]
lea edx, [esp + 0x2c0]
push ecx
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0
push 0x8000000
push 0
push 0
push 0
push edx
push 0
call eax
jmp dword [0x43d278]
sar edi, 0x24
lea eax, [eax - 0x74ffbc2e]
inc esp
and al, 8
mov dword [esp + 0x98], 0x585b5a45
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 3
ja 0x40e103
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0x98]
lea esi, [ecx + edx]
add esi, 0x77989e6f
add ecx, 0x77989e6f
not edx
or ecx, edx
sub edx, ecx
lea ecx, [esi + edx*2]
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0xd5
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x98], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 4
jb 0x40e0ba
mov ecx, dword [0x442cd8]
test ecx, ecx
je 0x40e146
mov edx, dword [esp + 0x98]
xor esi, esi
mov edi, dword [0x442cdc]
cmp dword [edi + esi*8], 0x625b6034
je 0x40e12c
inc esi
cmp ecx, esi
jne 0x40e11c
jmp 0x40e146
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x40e146
push eax
push 1
push dword [0x442ce0]
push ecx
call fcn.00435168
add esp, 0x10
jmp 0x40e329
sar edi, 0x24
lea ecx, [eax - 0x2e]
inc ebx
add byte [ebp + 0x2c0248c], cl
add byte [eax], al
push 1
call fcn.00409d88
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + 0x441ccd], 0
lea eax, [eax + 1]
jne 0x40e178
mov dword [esp + 0x18], 0xea181c3c
mov dword [esp + 0x1c], 0xfbf62f17
mov word [esp + 0x20], 0x61f4
mov dword [esp + 0x22], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xd
ja 0x40e1e8
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x18]
add ecx, 0x2cf87cea
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x6e
mov edx, dword [esp]
mov byte [esp + edx + 0x18], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe
jb 0x40e1b8
lea esi, [esp + 0x2c0]
mov ecx, esi
push eax
push 0x441ccc
lea eax, [esp + 0x20]
push eax
call fcn.00409f88
mov ecx, esi
call fcn.0040a648
mov ecx, esi
call fcn.00409dc8
xor eax, eax
cmp dword [esp + 0x9c], 0
setg al
sar bh, 0x24
test dword [eax - 0x2e], esp
inc ebx
invalid
sar bh, 0x24
test dword [eax - 0x2e], esp
inc ebx
add byte [ecx - 0x17a8af3d], cl
lodsb al, byte [esi]
sbb eax, dword [edx]
add byte [ebx - 0x4b00f73c], al
and al, 0xa0
add byte [eax], al
add al, ch
lea ecx, [ebp + 2]
add byte [ebx - 0x36cefb3c], al
mov eax, ebx
test ebx, ebx
setne cl
sar edi, 0x24
lea ecx, [eax - 0x2e]
inc ebx
invalid
sar edi, 0x24
lea ecx, [eax - 0x2e]
inc ebx
add byte [ecx + 0x22e850c7], cl
inc edx
invalid
mov ebx, eax
jmp dword [0x43d250]
call fcn.00409658
add esp, 4
push ebx
call fcn.00411648
add esp, 4
push ebx
call fcn.004034b8
add esp, 4
mov dword [esp + 0x2c0], 0x33ad93ac
mov word [esp + 0x2c4], 0
mov byte [esp + 0x2c6], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 6
lea edi, [esp + 0x2c0]
ja 0x40e2fd
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x2c0]
add eax, 0x28a30c
xor eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ecx, eax
not ecx
and ecx, 0x3c
and eax, 0xc3
sub eax, ecx
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x2c0], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 7
jb 0x40e2b8
push edi
push esi
call fcn.00403068
add esp, 8
xor ecx, ecx
test eax, eax
setg cl
sar edi, 0x24
lea ebx, [eax - 0x2e]
inc ebx
invalid
sar edi, 0x24
lea ebx, [eax - 0x2e]
inc ebx
add byte [ecx], dh
rol byte [ebx + 0x9c24bc], 0
add byte [eax], al
setg al
sar bh, 0x24
test dword [eax - 0x2e], esp
inc ebx
invalid
sar bh, 0x24
test dword [eax - 0x2e], esp
inc ebx
add bh, bh
adc eax, 0x43b588
call dword [0x43b588]
lea ecx, [esp + 0xac0]
call fcn.00409dc8
lea ecx, [esp + 0xb28]
call fcn.00409dc8
lea ecx, [esp + 0xb90]
call fcn.00409dc8
lea ecx, [esp + 0xbf8]
call fcn.00409dc8
lea ecx, [esp + 0xc60]
call fcn.00409dc8
lea ecx, [esp + 0x258]
call fcn.00409dc8
push dword [eax - 0x83216ff]
invalid
invalid
push dword [eax - 0x83216ff]
invalid
mov ecx, eax
not ecx
lea eax, [ecx + eax*2]
push eax
call fcn.00409648
add esp, 4
les eax, [edi + edi*8]
and eax, 0x43d244
les eax, [edi + edi*8]
and eax, 0x43d244
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0xa0]
mov edx, ecx
and edx, 0xfffffffc
mov ebx, ecx
and ebx, 3
mov eax, ecx
or eax, 3
imul eax, ebx
xor ebx, 3
imul ebx, edx
add eax, ebx
shr eax, 2
movzx edx, byte [edi + ecx - 1]
cmp edx, 0x3d
je 0x40e8a8
cmp edx, 0x2e
jne 0x40e8a9
dec eax
movzx ecx, byte [edi + ecx - 2]
cmp ecx, 0x3d
je 0x40e858
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp ecx, 0x2e
je 0x40e858
jmp 0x40e85f
call fcn.00421de8
add esp, 4
push ebx
call fcn.00421de8
add esp, 4
jmp dword [0x43d228]
sar bh, 0x24
lea ecx, [eax - 0x76ffbc2e]
je 0x40e98c
invalid
and al, 0x34
jmp dword [0x43d290]
xor al, 0xff
and eax, 0x43d290
push esi
call fcn.00403478
add esp, 4
push esi
call fcn.00403478
add esp, 4
les eax, [edi + edi*8]
and eax, 0x43d298
les eax, [edi + edi*8]
and eax, 0x43d298
xor ecx, ecx
cmp edi, eax
setb cl
mov al, 1
add edi, edi
and al, 0x8d
invalid
rol byte [ebx], cl
xchg edx, eax
sal dword [eax - 0x72db00ff], 0xa0
add edi, edi
and al, 0x8d
mov al, byte [0x890043d2]
mov esp, 0x12424
add byte [edi + 0x56], dl
add edi, edi
and al, 0x8d
mov al, byte [0x890043d2]
mov esp, 0x12424
add byte [edi + 0x56], dl
call fcn.00403488
add esp, 8
mov edi, eax
mov word [esp + 0x48], 0x27a8
lea eax, [esp + 0x4b]
mov word [eax + 3], 0
mov dword [eax - 1], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 7
ja 0x40ea11
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0x4d2e04f9
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x23
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 8
jb 0x40e9d8
push 3
lea eax, [esp + 0x4c]
push eax
push edi
call fcn.00403358
add esp, 0xc
xor ecx, ecx
test eax, eax
sete cl
sar edi, 0x24
invalid
test al, 0xd2
inc ebx
invalid
sar edi, 0x24
lea ebp, [eax + 0x660043d2]
mov dword [esp + 0x48], 0x448d49dc
and al, 0x4b
mov word [eax + 3], 0
mov dword [eax - 1], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 7
ja 0x40eaae
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + ecx + 0x48]
lea esi, [eax - 0x6102708e]
lea ecx, [eax + edx]
add ecx, 0x9efd8f72
add eax, 0x72
or eax, esi
and eax, edx
sub ecx, eax
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0xc6
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 8
jb case.default.0x40eafc
lea eax, [esp + 0x48]
push eax
push edi
call fcn.00402e08
add esp, 8
fnstcw word [esp + 0x10a]
movzx eax, word [esp + 0x10a]
or eax, 0xc00
mov word [esp + 0x11a], ax
fldcw word [esp + 0x11a]
fistp dword [esp + 0x138]
fldcw word [esp + 0x10a]
mov eax, dword [esp + 0x138]
xor ecx, ecx
cmp eax, 2
setl cl
sar edi, 0x24
invalid
rcl dl, 0x43
invalid
sar edi, 0x24
invalid
xor al, 0xff
and al, 0x8d
enter 0x43d2, 0
sete al
movzx eax, al
sar bh, 0x24
test eax, edx
rol byte [ebx], cl
sar bh, 0x24
test eax, edx
rol byte [ebx], cl
mov word [esp + 0x48], 0x8b35
lea eax, [esp + 0x4b]
mov word [eax + 3], 0
mov dword [eax - 1], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 7
ja 0x40eb91
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x48]
add eax, 0xa8bda063
xor eax, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb4]
add al, 0x11
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 8
jb 0x40eb58
push 2
lea eax, [esp + 0x4c]
push eax
push edi
call fcn.00403358
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
sar edi, 0x24
lea esi, [eax - 0x2d]
inc ebx
invalid
sar edi, 0x24
lea esi, [eax - 0x2d]
inc ebx
add byte [esi - 0x39], ah
test byte [esp + esi*4], ah
add byte [eax], al
add byte [eax + 0x24848d11], ah
mov dh, 0
add byte [eax], al
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40ec21
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0xb4]
add eax, 0xc2a2f37c
xor eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add al, 0x94
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0xb4], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40ebe8
push 2
lea eax, [esp + 0xb8]
push eax
push edi
call fcn.00403358
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
sar edi, 0x24
lea edi, [eax - 0x2d]
inc ebx
invalid
sar edi, 0x24
lea edi, [eax - 0x2d]
inc ebx
add bh, al
inc esp
and al, 0x44
xor eax, dword [edi + 0x44c70000]
and al, 4
add byte [eax], al
add byte [eax], al
mov eax, dword [esp + 4]
cmp eax, 3
ja 0x40ec9b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x44]
add eax, 0xb6c946a1
xor eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add al, 0xdb
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x44], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 4
jb 0x40ec68
push 5
lea eax, [esp + 0x48]
push eax
push edi
call fcn.00403358
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
sar edi, 0x24
invalid
adc bl, 0x43
invalid
sar edi, 0x24
lea eax, [eax - 0x38ffbc2d]
test byte [esp + edx], ah
add dword [eax], eax
add byte [esi - 0x38ffffd9], ch
inc esp
and al, 4
add byte [eax], al
add byte [eax], al
mov eax, dword [esp + 4]
cmp eax, 3
ja 0x40ed1b
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x114]
add eax, 0x7edc7d79
xor eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
xor ecx, 0x5d
and eax, 0x22
add eax, eax
sub eax, ecx
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x114], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 4
jb 0x40ecd8
push 2
lea eax, [esp + 0x118]
push eax
push edi
call fcn.00403358
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
sar edi, 0x24
invalid
mov bl, dl
inc ebx
invalid
sar edi, 0x24
lea ecx, [eax + 0x660043d3]
mov dword [esp + 8], 0x448d41a4
and al, 0xa
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40ed9b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 8]
add eax, 0xee0bb110
xor eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add al, 0xb0
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 8], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40ed68
push 3
lea eax, [esp + 0xc]
push eax
push edi
call fcn.00403358
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
sar edi, 0x24
invalid
nop
rol dword [ebx], cl
sar edi, 0x24
lea edx, [eax - 0x14ffbc2d]
pop ds
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [case.0x40eafc.0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edi, dword [esp + 0x124]
inc edi
jmp dword [0x43d290]
add byte [edi - 1], al
and eax, 0x43d290
xor ecx, ecx
test eax, eax
setle cl
mov esi, dword [esp + 0x34]
jmp dword [ecx*4 + 0x43d2d8]
leave
jmp dword [ecx*4 + 0x43d420]
adc al, 0x72
leave
jmp 0x40f2ee
mov word [edi], 0
lea esi, [eax - 1]
nop
nop
cmp byte [esi + 1], 0
lea esi, [esi + 1]
jne 0x40f2f8
xor edi, edi
cmp eax, esi
jae 0x40f33f
cmp byte [eax], 0
je 0x40f33f
xor edi, edi
mov ebx, dword [esp + 0x14]
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
push eax
push esi
push ebx
call fcn.0040d178
add esp, 0xc
lea ecx, [ebx + eax]
inc edi
cmp ecx, esi
jae 0x40f33f
cmp byte [ebx + eax], 0
mov ebx, ecx
jne 0x40f318
mov eax, edi
inc eax
lea eax, [edi + edi + 2]
jns 0x40f34d
mov eax, 0xffffffff
push eax
call fcn.00409648
add esp, 4
mov dword [esp + 0x48], 0
lea ecx, [eax + edi*2]
mov edi, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], ecx
cmp eax, ecx
mov ebx, dword [esp + 0x14]
jae 0x40f3b3
mov edi, dword [esp + 0x38]
cmp ebx, esi
jae 0x40f3b3
mov edi, dword [esp + 0x38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x40f3b3
lea eax, [esp + 0x48]
push eax
push esi
push ebx
call fcn.0040d178
add esp, 0xc
movzx ecx, word [esp + 0x48]
mov word [edi], cx
add edi, 2
cmp edi, dword [esp + 0x24]
jae 0x40f3b3
add ebx, eax
cmp ebx, esi
jb 0x40f388
mov word [edi], 0
mov word [esp + 0x48], 0xb75b
mov byte [esp + 0x4a], 0x3e
mov dword [esp + 0x4b], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 6
ja 0x40f42e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x48]
lea edx, [eax + ecx]
add edx, 0x7b1c11b5
add eax, 0x7b1c11b5
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0xb4], edx
mov eax, dword [esp + 0xb4]
add al, 0x77
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x48], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 7
jb 0x40f3e8
lea eax, [esp + 0x48]
push eax
push dword [ebp + 8]
call fcn.00402f38
add esp, 8
xor ecx, ecx
mov dword [esp + 0x14], eax
test eax, eax
setne cl
mov dword [esp + 0x30], 0
mov dword [esp + 0x18], 0
add bh, bh
and al, 0x8d
sub ah, dl
inc ebx
invalid
add bh, bh
and al, 0x8d
sub ah, dl
inc ebx
add byte [ebp - 0x76b7db8c], cl
int1
push 2
call fcn.00409d88
push dword [esp + 0x30]
mov edi, dword [esp + 0x1c]
push edi
push dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
push ebx
push esi
call fcn.00413948
add esp, 0x14
mov ecx, esi
call fcn.0040a648
movzx eax, al
jmp dword [eax*4 + 0x43d458]
je 0x40f4de
adc ecx, ebp
xchg edi, eax
add eax, dword [eax]
add bh, bh
je 0x40f4e7
adc al, 0xe8
scasd eax, dword es:[edi]
aas
invalid
invalid
rol byte [edx + esi*2], 2
mov esi, eax
test dl, dl
jne 0x40f4f3
mov ecx, esi
push ecx
call fcn.00409648
add esp, 4
mov edx, dword [esp + 0x30]
mov dword [eax], edx
add eax, 4
xor ecx, ecx
test edx, edx
sete cl
sar edi, 0x24
lea esi, [eax]
aam 0x43
invalid
sar edi, 0x24
lea esi, [eax]
aam 0x43
add byte [ebx - 0x72cfdbb4], cl
or al, 0x49
lea esi, [eax + ecx*4]
mov dword [eax], 0
mov dword [eax + 4], 0
mov byte [eax + 8], 0
lea ecx, [eax + 0xc]
xor edx, edx
cmp ecx, esi
sete dl
jmp dword [edx*4 + 0x43d438]
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
add ecx, 0xc
xor edx, edx
cmp ecx, esi
sete dl
ret 0x24ff
xchg ebp, eax
cmp ah, dl
inc ebx
invalid
ret 0x24ff
inc ebx
add bh, bh
and eax, 0x43d4e4
jmp dword [0x43d398]
inc ebx
add bh, bh
and eax, 0x43d368
push dword [esp + 0x3c]
call fcn.00409658
add esp, 4
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.0040a648
mov ecx, esi
call fcn.00409dc8
mov esi, dword [esp + 0x34]
jmp 0x40edda
les eax, [edi + edi*8]
and eax, 0x43d480
mov word [esp + 0x28], 0xa2ae
mov byte [esp + 0x2a], 0x12
lea eax, [esp + 0x29]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x411576
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + ecx]
add eax, 0x7c
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x4dd9b47c
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
add al, 0x94
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x411538
push 3
lea eax, [esp + 0x2c]
push eax
push edi
call fcn.00403358
add esp, 0xc
mov word [esp + 0x28], 0xa2ae
mov byte [esp + 0x2a], 0x12
lea eax, [esp + 0x29]
mov byte [eax + 4], 0
mov word [eax + 2], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x4115f6
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + ecx]
add eax, 0x7c
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x4dd9b47c
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
add al, 0x94
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x28], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x4115b8
push 3
lea eax, [esp + 0x2c]
push eax
push edi
call fcn.00403358
add esp, 0xc
jmp dword [0x43d3a4]
les eax, [edi + edi*8]
and eax, 0x43d4e8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x43d664]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax