Function at 0x40cd3a
Capabilities:
Encrypt data using speck

Disassembly:
call 0x16ab1b97
call fcn.0040f5de
add esp, 0xc
jmp 0x40c841
mov ebx, eax
jnp 0x40c848
jp 0x40c848
call 0x500e35
add al, ch
into
lahf
add al, byte [eax]
jmp 0x40d792
jp 0x40c857
jnp 0x40c857
call 0x1becbda
jg 0x40c85c
jle 0x40c85c
call 0x1b0cbd1
jno 0x40c861
jo 0x40c861
call 0x1b4cbda
jne 0x40c866
je 0x40c866
call 0x1b6cbe1
ja 0x40c86b
jbe 0x40c86b
call 0x1b4cbe4
jne 0x40c870
je 0x40c870
call 0x106514ff
mov ecx, dword [esp + 0x10]
mov edx, 0x40326e
push 3
call fcn.0040f4b7
pop ecx
jmp 0x40c8c1
mov ebx, eax
js 0x40c8c8
jns 0x40c8c8
call 0x4f8eb5
add byte [ebx + eax + 0x75], dh
add eax, ebp
mov edi, dword [esp + 0xdc]
add byte [eax], al
add al, ch
add dword [eax], eax
add byte [eax], al
jmp 0x40d792
add al, ch
mov ecx, dword [esp + 0xc]
mov edx, esi
call fcn.004096cd
mov esi, edx
lea ebx, [esp + 0x670]
lea edx, [esp + 0xac]
jbe 0x40c900
ja 0x40c900
call 0x1bbcc7e
jp 0x40c905
jnp 0x40c905
call 0x1b0cc7a
jno 0x40c90a
jo 0x40c90a
call 0x1b5cc82
je 0x40c90f
jne 0x40c90f
call 0x1b4cc88
jne 0x40c914
je 0x40c914
call 0x40cb00
add byte [eax], al
call 0x1b1cc8f
call 0x40c91a
add al, ch
jo 0x40c920
jno 0x40c920
call 0x3b903ad
mov dword [edx], edi
js 0x40c927
jns 0x40c927
call 0x5aba2b4
mov ecx, ebx
push 5
push esi
mov dword [esp + 0xc], eax
push eax
call fcn.00412516
mov eax, edi
add esp, 0xc
movzx ebx, word [ebx + 8]
test bx, bx
jne 0x40e938
mov edi, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x14], eax
ja 0x40c957
jbe 0x40c957
call 0x746585db
push es
add byte [eax], al
add byte [edi], cl
test byte [eax], bl
sldt word [eax]
cmp byte [esp + 0x674], 0
je 0x40d87d
jl 0x40c96a
jge 0x40c96a
call 0x70654df9
push es
add byte [eax], al
mov eax, dword [esp + 0x670]
lea ebx, [esp + 0x1190]
mov dword [esp + 8], eax
jb 0x40c981
jae 0x40c981
call 0xb2d1ed
add byte [edx], ch
push 0x7208
push 0
push ebx
call fcn.00403060
add esp, 0xc
movzx eax, byte [ebx + 0x7200]
call 0x40c99e
add al, ch
imul ecx, eax, 0x720
inc al
mov edx, eax
and dl, 0x1f
mov byte [ebx + 0x7200], dl
mov ebx, dword [esp + 8]
mov dword [esp + ecx + 0x1190], ebx
mov ebx, dword [esp + 0x14]
and dword [esp + ecx + 0x1194], 0
and dword [esp + ecx + 0x1198], 0
mov byte [esp + ecx + 0x15a0], 0
mov dword [esp + ecx + 0x18a0], esi
mov dword [esp + ecx + 0x18a4], edi
lea edi, [esp + 0x460]
mov dword [esp + ecx + 0x18a8], ebx
test al, 0x1f
jge 0x40c9fc
jl 0x40c9fc
call 0x185a4e0f
add byte [eax], al
je 0x40e21b
dec al
jp 0x40ca09
jnp 0x40ca09
call 0x8401801c
loopne 0x40ca2e
movzx eax, al
and eax, 0x1f
imul eax, eax, 0x720
lea esi, [esp + eax + 0x1190]
mov dword [esp + 0x18], eax
mov ecx, edi
mov edx, esi
jg 0x40ca29
jle 0x40ca29
call 0x8f9215
add byte [esi - 0x7d], ah
mov esp, 0x47024
add byte [eax], al
call 0x4118f5
cmp word [esp + 0x470], 0
jne 0x40e1dd
ja 0x40ca42
jbe 0x40ca42
call 0x6c6586c6
add al, 0
add byte [eax], al
cmp byte [esp + 0x46c], 0
je 0x40cf5b
mov bh, byte [esp + 0x468]
mov eax, dword [esp + 0x460]
mov ecx, dword [esp + 0x464]
and al, 0x64
add al, 0
add byte [eax + 0x448902ff], al
and al, 8
mov dword [esp + 0xc], ecx
jae 0x40ca75
jb 0x40ca75
sete bl
test bl, 1
jg 0x40ca80
jle 0x40ca80
call 0x3b627f8
je 0x40cadf
jne 0x40ca87
je 0x40ca87
call 0x90654f15
add dword [eax], 0
mov al, byte [esp + 0x8390]
shl al, 3
sar al, 3
js 0x40cb3f
jae 0x40ca9f
jb 0x40ca9f
call 0xb8655730
add byte [eax], al
add byte [ecx + 0x3d5668f2], cl
inc eax
add bh, bh
je 0x40cad4
lea ecx, [esp + 0xb8]
mov edx, esi
push 0x403d56
push dword [esp + 0x10]
push dword [esp + 0x10]
call fcn.00410d99
add esp, 0xc
movzx ecx, word [esp + 0xbc]
cmp ecx, 0x1a
mov eax, ecx
adc bh, bh
je switch.0x0040cad8
adc al, ch
fild word [edx]
add byte [ebx - 0x48f0f33c], al
mov word [esp + edi*4], fs
add byte [eax], al
add byte [ebx - 0x3776e507], al
mov dword [esp + 4], ecx
ja case.0x40cad8.11
mov eax, dword [esp + 4]
jmp dword [eax*4 + 0x43a304]
je 0x40cae4
jne 0x40cae4
call 0x8651f73
mov edx, dword [esp + 8]
mov ecx, esi
push dword [esp + 0xc]
call fcn.004126c0
pop ecx
movzx edx, ax
cmp ax, 0x1c
mov dword [esp + 4], eax
ja 0x40e05f
cmp edx, 0x17
jne 0x40cb17
jno 0x40cb0f
jo 0x40cb0f
call 0xe942be93
popal
invalid
xor bl, 1
jmp 0x40ca78
mov ecx, 0x1022fa00
bt ecx, edx
jb 0x40e06d
mov ecx, 0x101
bt ecx, edx
jae 0x40e05f
call 0x40cb39
add al, ch
jmp 0x40ca20
je 0x40cb44
jne 0x40cb44
call 0x1b9cec0
js 0x40cb49
jns 0x40cb49
call 0x1bcceca
jge 0x40cb4e
jl 0x40cb4e
call 0x40cd3a
add byte [eax], al
call 0x1b3cecb
call 0x40cb54
add al, ch
jb 0x40cb5a
jae 0x40cb5a
call 0x1b0cecf
jno 0x40cb5f
jo 0x40cb5f
call 0x1b8cedc
jns 0x40cb64
js 0x40cb64
call 0x1bccee5
jge 0x40cb69
jl 0x40cb69
call 0x1b8cee6
jns 0x40cb6e
js 0x40cb6e
call 0x1bbceec
jp 0x40cb73
jnp 0x40cb73
call 0x8ccdd202
and al, 0x50
add dword [eax], eax
add byte [ebp - 0x769fdbac], cl
inc esp
and al, 0x60
mov eax, dword [esi]
lea ecx, [esp + 0x150]
lea edx, [esp + 0x60]
mov dword [esp + 0x60], eax
movzx eax, bh
je 0x40cb8c
jne 0x40cb8c
call 0x24b5cae0
adc bh, bh
je 0x40cbb8
push eax
push dword [esp + 0x10]
push dword [esp + 0x10]
call fcn.00412516
adc al, ch
jl 0x40cbf1
add byte [eax], al
add esp, 0xc
movzx ecx, word [esp + 0x158]
test cx, cx
mov eax, ecx
mov dword [esp + 4], ecx
jne 0x40e638
jo 0x40cbb9
jno 0x40cbb9
call 0x5465883d
add dword [eax], eax
add byte [eax], al
cmp byte [esp + 0x154], 0
je 0x40ce60
js 0x40cbcc
jns 0x40cbcc
call 0x5065885b
add dword [eax], eax
add byte [ebx - 0x74f7dbac], cl
dec esp
and al, 0xc
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov al, 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x24], edi
jne 0x40cbfe
je 0x40cbfe
call 0x8065888b
or al, byte [eax]
add byte [ebx + 0xa8424a4], al
add byte [eax], al
add byte [ebx + 0xa8824a4], al
add byte [eax], al
add dh, al
test byte [eax + edx*4], ah
push cs
add byte [eax], al
add byte [ebp + 0x250248c], cl
add byte [eax], al
mov dword [esp + 0xa80], edi
and dword [esp + 0xa84], 0
and dword [esp + 0xa88], 0
mov byte [esp + 0xe90], 0
lea ecx, [esp + 0x250]
lea edx, [esp + 0xa80]
jb 0x40cc30
jae 0x40cc30
call 0x8d8d1c
add byte [edi], cl
mov bh, 0x84
and al, 0x60
add al, byte [eax]
add byte [ebp + 0x6678247c], cl
test eax, eax
call 0x4118f5
movzx eax, word [esp + 0x260]
lea edi, [esp + 0x78]
test ax, ax
jne 0x40e6a3
jns 0x40cc4f
js 0x40cc4f
call 0x5c6588d3
add al, byte [eax]
add byte [eax], al
cmp byte [esp + 0x25c], 0
je 0x40cdab
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x254]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
jnp 0x40cc78
jp 0x40cc78
call 0x586588fc
add al, byte [eax]
add byte [edx], al
cmp byte [esp + 0x258], 2
sete bl
test bl, 1
jno 0x40cc8b
jo 0x40cc8b
call 0x3b71203
je 0x40ccd2
jbe 0x40cc92
ja 0x40cc92
call 0x655923
add dword [eax], eax
add byte [ecx + 0x3de768fa], cl
inc eax
add bh, bh
je 0x40ccc7
lea ecx, [esp + 0x100]
mov edx, edi
push 0x403de7
push dword [esp + 0x24]
push dword [esp + 0x30]
call fcn.00410d99
and al, 0xff
je switch.0x0040cccb
xor al, ch
in al, dx
inc eax
add byte [eax], al
add esp, 0xc
movzx ecx, word [esp + 0x104]
cmp ecx, 0x1a
mov eax, ecx
mov dword [esp + 4], ecx
ja case.0x40cccb.11
mov eax, dword [esp + 4]
jmp dword [eax*4 + 0x43a298]
jge 0x40ccd7
jl 0x40ccd7
call 0x28652166
mov edx, dword [esp + 0x28]
mov ecx, edi
push dword [esp + 0x20]
call fcn.004126c0
pop ecx
movzx edx, ax
cmp ax, 0x1c
mov ecx, eax
mov dword [esp + 4], eax
ja 0x40e5fd
cmp edx, 0x17
jne 0x40cd0c
jg 0x40cd04
jle 0x40cd04
call 0xe942c088
ja 0x40cd09
xor bl, 1
jmp 0x40cc83
invalid
invalid
mov ecx, 0x1022fa00
bt ecx, edx
jb 0x40e60b
mov ecx, 0x101
bt ecx, edx
jae 0x40e5fd
jne 0x40cd2d
je 0x40cd2d
call 0x3fb91a
dec dword [eax + 0x7904247c]
add edi, dword [eax + 1]
jmp 0x40cc1d
mov byte [esp + 4], bh
jns 0x40cd3b
js 0x40cd3b
call 0x1c651235
add dword [ebp + 0x13], esi
test byte [esp + 0x1c], 1
jne 0x40cd55
jns 0x40cd47
js 0x40cd47
call 0x3065424a
push dword [esp + 0x30]
call sub.ntdll.dll_NtClose
jo 0x40cd55
jno 0x40cd55
call 0x1b8d0d2
jns 0x40cd5a
js 0x40cd5a
call 0x6589e9
add dword [eax], eax
add byte [ecx + 0x7d78247c], cl
add edi, dword [ecx + eax - 0x18]
mov edi, dword [esp + 0x100]
mov dword [esp + 0x78], edi
jge 0x40cd6a
jl 0x40cd6a
call 0x206529f9
mov ebx, dword [esp + 0x20]
push ebx
push dword [esp + 0x2c]
lea eax, [esp + 0x778]
push eax
call fcn.0040307b
add esp, 0xc
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], ebx
mov bh, byte [esp + 4]
lea ecx, [esp + 0x770]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x30], eax
jmp 0x40cbf5
ja 0x40cdb0
jbe 0x40cdb0
call 0x246542b3
push dword [esp + 0x24]
call sub.ntdll.dll_NtClose
jns 0x40cdbe
js 0x40cdbe
call 0x1c6512b8
add dword [eax + esi + 0x7f], esi
add edi, dword [esi + 1]
test byte [esp + 0x1c], 1
je 0x40cdf5
jg 0x40cdca
jle 0x40cdca
call 0x4ccdd459
and al, 0x44
mov eax, dword [esi]
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], eax
ja 0x40cdd9
jbe 0x40cdd9
call 0x8652268
mov edx, dword [esp + 8]
push dword [esp + 0xc]
call fcn.00412648
pop ecx
cmp ax, 0x6c
mov ecx, eax
mov dword [esp + 4], eax
je 0x40ce48
jmp 0x40ce52
je 0x40cdfa
jne 0x40cdfa
call 0x30651289
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], eax
call 0x40ce0c
add al, ch
mov edx, dword [esp + 0x50]
push dword [esp + 0x4c]
call fcn.00412648
pop ecx
test ax, ax
mov ecx, eax
mov dword [esp + 4], eax
je 0x40ce35
movzx eax, word [esp + 4]
cmp eax, 8
je 0x40ce35
cmp eax, 0x6c
jne 0x40ce9b
jo 0x40ce3a
jno 0x40ce3a
call 0x3065433d
push dword [esp + 0x30]
call sub.ntdll.dll_NtClose
js 0x40ce48
jns 0x40ce48
call 0x1b7d1c2
jbe 0x40ce4d
ja 0x40ce4d
call 0x3deb3a
dec dword [edi]
mov bh, 0x44
and al, 4
jmp 0x40cb6e
movzx eax, word [esp + 4]
test eax, eax
je 0x40ce60
cmp eax, 8
jne 0x40ceae
call 0x40ce66
add al, ch
jnp 0x40ce6c
jp 0x40ce6c
jae 0x40ce71
jb 0x40ce71
jg 0x40ce76
jle 0x40ce76
jl 0x40ce7b
jge 0x40ce7b
jo 0x40ce80
jno 0x40ce80
jl 0x40ce85
jge 0x40ce85
jne 0x40ce8a
je 0x40ce8a
jp 0x40ce8f
jnp 0x40ce8f
lea edi, [esp + 0x460]
jmp 0x40cb33
jno 0x40cea0
jo 0x40cea0
call 0x306543a3
push dword [esp + 0x30]
call sub.ntdll.dll_NtClose
jno 0x40ceae
jo 0x40ceae
call 0x1b5d226
je 0x40ceb3
jne 0x40ceb3
call 0x1b9d22f
js 0x40ceb8
jns 0x40ceb8
call 0x1bfd23a
jle 0x40cebd
jg 0x40cebd
call 0x1b8d23a
jns 0x40cec2
js 0x40cec2
call 0x1b1d236
jo 0x40cec7
jno 0x40cec7
call 0x1bcd248
jge 0x40cecc
jl 0x40cecc
call 0x1bfd24e
jle 0x40ced1
jg 0x40ced1
call 0x1b4d24a
jne 0x40ced6
je 0x40ced6
call 0x1bfd258
jle 0x40cedb
jg 0x40cedb
call 0x24bd5245
add al, 0
cmp word [esp + 4], 0
lea edi, [esp + 0x460]
je 0x40cb33
jmp 0x40e669
js 0x40cef8
jns 0x40cef8
call 0x24c5850b
nop
add dword [eax], 0
movzx eax, byte [esp + 0x8390]
mov edx, dword [esp + 0xb8]
mov esi, dword [esi]
je 0x40cf0e
jne 0x40cf0e
call 0x761977b
add byte [eax], al
imul ecx, eax, 0x720
inc al
and al, 0x1f
mov byte [esp + 0x8390], al
lea eax, [esp + ecx + 0x1190]
mov dword [eax], edx
jne 0x40cf2d
je 0x40cf2d
call 0x8651bbc
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
and dword [eax + 4], 0
and dword [eax + 8], 0
mov byte [eax + 0x410], 0
mov dword [eax + 0x710], ecx
mov dword [eax + 0x714], edx
mov dword [eax + 0x718], esi
jmp 0x40d089
mov ecx, esi
jl 0x40cf62
jge 0x40cf62
call 0x97994e
add byte [ebx - 0x72e7dbbc], cl
dec esp
and al, 0x34
call 0x412630
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
mov esi, dword [esp + eax + 0x18a8]
mov ebx, dword [esp + eax + 0x18a4]
mov edx, dword [esp + eax + 0x18a0]
mov al, byte [esp + 0x8390]
dec al
mov dword [esp + 0x34], esi
and al, 0x1f
mov byte [esp + 0x8390], al
jae 0x40cf9f
jb 0x40cf9f
call 0x865242c
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
push ebx
call fcn.00412648
pop ecx
test ax, ax
mov dword [esp + 4], eax
je 0x40d089
movzx eax, word [esp + 4]
cmp eax, 8
je 0x40d089
cmp eax, 0x6c
jne 0x40e8f8
mov bl, 1
test bl, 1
je 0x40cfdc
jne 0x40cfdc
call 0x3b11e54
je 0x40d02c
jo 0x40cfe3
jno 0x40cfe3
call 0x80655c74
add byte [eax], al
add byte [ebp + 0x68342454], cl
push esi
cmp eax, 0x74ff0040
and al, 0x10
lea ecx, [esp + 0x80]
lea edx, [esp + 0x34]
push 0x403d56
push dword [esp + 0x10]
push dword [esp + 0x10]
call fcn.00410d99
add esp, 0xc
movzx ecx, word [esp + 0x84]
lea edi, [esp + 0x460]
cmp ecx, 0x1a
mov eax, ecx
mov dword [esp + 4], ecx
ja case.0x40d025.11
mov eax, dword [esp + 4]
jmp dword [eax*4 + 0x43a370]
jl 0x40d031
jge 0x40d031
call 0x86524c0
mov edx, dword [esp + 8]
lea ecx, [esp + 0x34]
push dword [esp + 0xc]
call fcn.004126c0
pop ecx
movzx edx, ax
cmp ax, 0x1c
mov dword [esp + 4], eax
ja 0x40e855
cmp edx, 0x17
jne 0x40d066
jae 0x40d05e
jb 0x40d05e
call 0xe942c3e2
outsb dx, byte [esi]
invalid
xor bl, 1
jmp 0x40cfd4
mov ecx, 0x1022fa00
bt ecx, edx
jb 0x40e863
mov ecx, 0x101
lea edi, [esp + 0x460]
bt ecx, edx
jae 0x40e855
jbe 0x40d08e
ja 0x40d08e
call 0x9065551c
add dword [eax], 0
mov al, byte [esp + 0x8390]
mov ebx, dword [esp + 0x14]
jmp 0x40c9f5
jp 0x40d0a3
jnp 0x40d0a3
call 0x24c586b6
nop
add dword [eax], 0
movzx eax, byte [esp + 0x8390]
mov edx, dword [esp + 0x80]
jo 0x40d0b7
jno 0x40d0b7
call 0x3f23a4
push dword [ecx]
fucomi st(1)
push 0xa
add byte [eax], al
jno 0x40d0c8
jmp 0x40cf0e
jo 0x40d0c8
call 0x38b86db
movzx ecx, byte [edx + 3]
cmp ecx, 0x5c
je 0x40d7a1
cmp ecx, 0x2f
jne 0x40d631
jo 0x40d0e3
jno 0x40d0e3
call 0x3b49a18
xor ecx, ecx
jae 0x40d0ea
jb 0x40d0ea
call 0xb650a877
push edx
add dword [ebx + 0x12742ffa], eax
mov edi, edx
movzx edx, byte [edx + 1]
cmp edx, 0x2f
je 0x40d107
cmp edx, 0x3f
je 0x40d5fd
cmp edx, 0x5c
jne 0x40d614
jge 0x40d10c
jl 0x40d10c
call 0x290871f
movzx ecx, byte [edi + 2]
cmp ecx, 0x2e
je 0x40d71c
mov edx, edi
cmp ecx, 0x3f
je 0x40d71c
jmp 0x40d616
jg 0x40d602
mov edx, edi
mov cl, 1
jmp 0x40d0e5
xor ebx, ebx
lea esi, [esp + 0x1190]
jo 0x40d8b8
jno 0x40d8b8
call 0xdf8ecb
jb 0x40d8be
movzx ebx, byte [esi + 0x7200]
add byte [ebx + 0x37401eb], al
sub ebx, 1
je 0x40d8c7
jne 0x40d8c7
call 0x10a45ada
add byte [eax], al
jb 0x40e930
mov ecx, esi
jge 0x40d8d4
jl 0x40d8d4
call 0x1b3dc4a
jb 0x40d8d9
jae 0x40d8d9
call 0x8e2bc5
add byte [ecx + 0x720c6], al
add bl, ch
invalid
call 0x412630
add esi, 0x720
jmp 0x40d8bf
cmp edx, 0x2c
je 0x40e06d
cmp edx, 0x41
jne 0x40f484
lea esi, [esp + 0x1190]
je 0x40e079
jne 0x40e079
call 0xdf968c
jb 0x40e07f
movzx ebx, byte [esi + 0x7200]
add byte [ebx + 0x37701eb], al
sub ebx, 1
ja 0x40e088
jbe 0x40e088
call 0x8e3629b
add byte [eax], al
jb 0x40e930
mov ecx, esi
js 0x40e095
jns 0x40e095
call 0x1b5e40d
je 0x40e09a
jne 0x40e09a
call 0x867286
add byte [ecx + 0x720c6], al
add bl, ch
fnstenv [ecx]
leave
call 0x412630
add esi, 0x720
jmp 0x40e080
js 0x40e1e2
jns 0x40e1e2
call 0x24f597f5
nop
add dword [eax], 0
movzx esi, byte [esp + 0x8390]
xor ebx, ebx
lea edi, [esp + 0x1190]
inc ebx
sub esi, 1
jo 0x40e1fc
jno 0x40e1fc
call 0xf6be640f
invalid
jb 0x40d87f
mov ecx, edi
jo 0x40e209
jno 0x40e209
call 0x1bde589
jl 0x40e20e
jge 0x40e20e
call 0x84fffa
add byte [ecx + 0x720c7], al
add bl, ch
invalid
call 0x412630
add edi, 0x720
jmp 0x40e1f4
mov eax, ebx
xor ebx, ebx
jmp 0x40e938
js 0x40e254
jns 0x40e254
call 0x24655757
push dword [esp + 0x24]
call sub.ntdll.dll_NtClose
ja 0x40e262
jbe 0x40e262
call 0x449a4f
add byte [ebx + 0x11902484], cl
add byte [eax], al
lea edi, [esp + 0xa80]
lea ecx, [esp + 0x150]
mov edx, esi
mov dword [edi], eax
jp 0x40e285
jmp 0x40e61e
jnp 0x40e285
call 0xfff52671
dec dword [ecx + 0x248c8dd6]
add byte [eax], 0
add byte [ecx + 0x780379c2], cl
add eax, ebp
call fcn.004096cd
mov esi, edx
lea ecx, [esp + 0x80]
mov edx, eax
jns 0x40e29a
js 0x40e29a
call 0x5697e408
push 1
push edi
push esi
call fcn.00411fb6
add esp, 0xc
jb 0x40e2ab
jae 0x40e2ab
call 0x1bce62c
jge 0x40e2b0
jl 0x40e2b0
call 0x1bde630
jl 0x40e2b5
jge 0x40e2b5
call 0x24fd661f
movsb byte es:[edi], byte [esi]
add byte [eax], al
add byte [eax], al
cmp word [esp + 0xa4], 0
jne 0x40e4cd
jg 0x40e2c9
jle 0x40e2c9
call 0x8d99ec37
test byte [eax + edi*4], ah
add byte [eax], al
add byte [ebp + 0x8024b4], cl
add byte [eax], al
push 9
pop ecx
lea eax, [esp + 0xb8]
lea esi, [esp + 0x80]
xor ebx, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [eax]
xor esi, esi
jne 0x40e2e9
je 0x40e2e9
call 0x1bce66a
jge 0x40e2ee
jl 0x40e2ee
call 0x1b6e669
ja 0x40e2f3
jbe 0x40e2f3
call 0x1b4e66c
jne 0x40e2f8
je 0x40e2f8
call 0x84657f85
or al, byte [eax]
add byte [ecx + 0xa8024b4], cl
add byte [eax], al
mov dword [esp + 0xa84], ebx
mov dword [esp + 0xa80], esi
mov byte [esp + 0xa88], 1
jne 0x40e313
je 0x40e313
call 0x46537a2
mov edx, dword [esp + 4]
lea eax, [esp + 0xa80]
lea ecx, [esp + 0x250]
push eax
push 0x8000
lea eax, [esp + 0x1198]
push eax
call fcn.0041223c
add esp, 0xc
js 0x40e340
jns 0x40e340
call 0x24fd66aa
push esp
add al, byte [eax]
add byte [eax], al
cmp word [esp + 0x254], 0
jne 0x40e4ad
jg 0x40e354
jle 0x40e354
call 0x506567e3
add al, byte [eax]
add byte [ebp + 0x755074c0], al
add esi, dword [ecx + eax - 0x18]
mov eax, dword [esp + 0x250]
test eax, eax
je 0x40e3af
jne 0x40e364
je 0x40e364
call 0x70656ff5
pop es
add byte [eax], al
lea ecx, [esp + 0x770]
mov edx, edi
push 0x403e68
push eax
lea eax, [esp + 0x1198]
push eax
call fcn.0041231e
add esp, 0xc
cmp word [esp + 0x774], 0
jne 0x40e4ad
jl 0x40e397
jge 0x40e397
call 0x70656826
pop es
add byte [eax], al
mov eax, dword [esp + 0x770]
jp 0x40e3a3
jnp 0x40e3a3
call 0x1b6e71e
ja 0x40e3a8
jbe 0x40e3a8
call 0x1b1e71c
jo 0x40e3ad
jno 0x40e3ad
call 0xc071f59c
jmp 0x40e3c0
xor eax, eax
jl 0x40e3b6
jge 0x40e3b6
call 0x1bde736
jl 0x40e3bb
jge 0x40e3bb
call 0x1b3e731
jb 0x40e3c0
jae 0x40e3c0
call 0x3baa9c5
add esi, eax
jns 0x40e3c7
js 0x40e3c7
call 0x8541b74e
sal byte [esi + ecx + 0x33], 0x44
and al, 0xc
adc ebx, 0
test eax, eax
je 0x40e3dc
xor eax, dword [esp + 0xc]
or eax, dword [esp + 0x14]
jne 0x40e2e4
jo 0x40e3e1
jno 0x40e3e1
call 0x1b1e755
jo 0x40e3e6
jno 0x40e3e6
call 0xd965a06a
add byte [eax], al
add byte [eax], al
cmp byte [esp + 0xd9], 0
je 0x40e408
jae 0x40e3f5
jb 0x40e3f5
call 0x8538cc50
add al, byte [eax]
push edi
call sub.ntdll.dll_NtClose
jno 0x40e400
jo 0x40e400
call 0xd96568ca
add byte [eax], al
add byte [eax], al
mov byte [esp + 0xd9], 0
lea edx, [esp + 0xc8]
call 0x40e415
add al, ch
lea edi, [esp + 0x770]
mov eax, dword [edx - 4]
mov esi, dword [edx - 0xc]
mov ebx, dword [edx - 8]
mov ecx, edi
mov dword [esp + 8], eax
je 0x40e431
jne 0x40e431
call 0x1bae7b0
jnp 0x40e436
jp 0x40e436
call 0x1b1e7aa
jo 0x40e43b
jno 0x40e43b
call 0x1b9e7b7
js 0x40e440
jns 0x40e440
call 0x1b2e7b7
jae 0x40e445
jb 0x40e445
call 0x3428f4b3
and eax, 0x66580000
cmp dword [edi + 0x210], 0
push 0x10
call fcn.0041097f
pop eax
cmp word [edi + 0x210], 0
jne 0x40e497
jno 0x40e45c
jo 0x40e45c
call 0x606568ed
add al, 0
add byte [eax + 0x10], ch
add al, byte [eax]
add byte [edi + 0x50], dl
lea eax, [esp + 0x460]
push 0x210
push edi
push eax
call fcn.0040307b
add esp, 0xc
lea edi, [esp + 0xa80]
jl 0x40e47e
jge 0x40e47e
call 0xf9cad70b
mov edx, esi
mov ecx, edi
push ebx
call fcn.0041097f
pop eax
cmp word [edi + 0x210], 0
jnp 0x40e4b2
lea esi, [esp + 0x1190]
ja 0x40e5cd
jbe 0x40e5cd
call 0xdf9be0
jb 0x40e5d3
movzx ebx, byte [esi + 0x7200]
add byte [ebx + 0x37401eb], al
sub ebx, 1
je 0x40e5dc
jne 0x40e5dc
call 0x38f67ef
add byte [eax], al
jb 0x40e930
mov ecx, esi
call 0x40e5ea
add al, ch
jg 0x40e5f0
jle 0x40e5f0
call 0x8121dc
add byte [ecx + 0x720c6], al
add bl, ch
xlatb
call 0x412630
add esi, 0x720
jmp 0x40e5d4
cmp edx, 0x2c
je 0x40e60b
cmp edx, 0x41
jne 0x40f489
jno 0x40e610
jo 0x40e610
call 0x24655b13
push dword [esp + 0x24]
call sub.ntdll.dll_NtClose
jge 0x40e61e
jl 0x40e61e
call 0x1c652b18
add dword [ebp + 0x13], esi
test byte [esp + 0x1c], 1
jne 0x40e638
jo 0x40e62a
jno 0x40e62a
call 0x30655b2d
push dword [esp + 0x30]
call sub.ntdll.dll_NtClose
js 0x40e638
jns 0x40e638
call fcn.0040e824
add byte [eax], al
call fcn.0040e82b
add byte [eax], al
call 0x1b7e9c0
call 0x40e63e
add al, ch
call 0x40e645
add al, ch
jbe 0x40e64b
ja 0x40e64b
call 0x1bae9ca
jnp 0x40e650
jp 0x40e650
call 0x1b0e9c5
jno 0x40e655
jo 0x40e655
call 0x1bbe9d3
jp 0x40e65a
jnp 0x40e65a
call 0x1b8e9d7
jns 0x40e65f
js 0x40e65f
call 0x1bee9e2
jg 0x40e664
jle 0x40e664
call 0x1b2e9db
jae 0x40e669
jb 0x40e669
call 0x90659afa
adc dword [eax], eax
add byte [ecx + 3], bh
lea esi, [esp + 0x1190]
jns 0x40e675
js 0x40e675
call 0xdf9c88
jb 0x40e67b
movzx ebx, byte [esi + 0x7200]
add byte [ebx + 0x37601eb], al
sub ebx, 1
jbe 0x40e684
ja 0x40e684
call 0x2e76897
add byte [eax], al
jb 0x40e930
mov ecx, esi
jns 0x40e691
js 0x40e691
call 0x1b7ea0b
jbe 0x40e696
ja 0x40e696
call 0x807c82
add byte [ecx + 0x720c6], al
add bl, ch
invalid
call 0x412630
add esi, 0x720
jmp 0x40e67c
mov dword [esp + 4], eax
ja 0x40e6ac
jbe 0x40e6ac
call 0x24655baf
push dword [esp + 0x24]
call sub.ntdll.dll_NtClose
ja 0x40e6ba
jbe 0x40e6ba
call fcn.004046a7
invalid
jmp 0x40e61e
cmp edx, 0x2c
je 0x40e863
lea esi, [esp + 0x1190]
jp case.0x40d025.11