Function at 0x40cb55
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0x10]
mov eax, ebx
push esi
sub eax, 0
je 0x40d0e2
sub eax, 1
je 0x40d0d1
sub eax, 1
je 0x40d0a2
sub eax, 1
je 0x40d058
mov edx, dword [ebp + 0xc]
sub eax, 1
je 0x40cfd0
mov esi, dword [ebp + 8]
push edi
cmp ebx, 0x20
jb 0x40bed2
mov eax, dword [esi]
cmp eax, dword [edx]
je 0x40babb
movzx edi, al
movzx eax, byte [edx]
sub edi, eax
je 0x40ba5b
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 1]
movzx eax, byte [edx + 1]
sub edi, eax
je 0x40ba7d
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 2]
movzx eax, byte [edx + 2]
sub edi, eax
je 0x40ba9f
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi + 3]
movzx eax, byte [edx + 3]
sub ecx, eax
je 0x40babd
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40babd
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi + 4]
cmp eax, dword [edx + 4]
je 0x40bb4c
movzx edi, al
movzx eax, byte [edx + 4]
sub edi, eax
je 0x40baec
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 5]
movzx eax, byte [edx + 5]
sub edi, eax
je 0x40bb0e
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 6]
movzx eax, byte [edx + 6]
sub edi, eax
je 0x40bb30
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi + 7]
movzx eax, byte [edx + 7]
sub ecx, eax
je 0x40bb4e
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40bb4e
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi + 8]
cmp eax, dword [edx + 8]
je 0x40bbdd
movzx edi, al
movzx eax, byte [edx + 8]
sub edi, eax
je 0x40bb7d
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 9]
movzx eax, byte [edx + 9]
sub edi, eax
je 0x40bb9f
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0xa]
movzx eax, byte [edx + 0xa]
sub edi, eax
je 0x40bbc1
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi + 0xb]
movzx eax, byte [edx + 0xb]
sub ecx, eax
je 0x40bbdf
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40bbdf
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi + 0xc]
cmp eax, dword [edx + 0xc]
je 0x40bc6e
movzx edi, al
movzx eax, byte [edx + 0xc]
sub edi, eax
je 0x40bc0e
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0xd]
movzx eax, byte [edx + 0xd]
sub edi, eax
je 0x40bc30
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0xe]
movzx eax, byte [edx + 0xe]
sub edi, eax
je 0x40bc52
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi + 0xf]
movzx eax, byte [edx + 0xf]
sub ecx, eax
je 0x40bc70
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40bc70
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi + 0x10]
cmp eax, dword [edx + 0x10]
je 0x40bd04
movzx eax, byte [edx + 0x10]
movzx edi, byte [esi + 0x10]
sub edi, eax
je 0x40bca4
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0x11]
movzx eax, byte [edx + 0x11]
sub edi, eax
je 0x40bcc6
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0x12]
movzx eax, byte [edx + 0x12]
sub edi, eax
je 0x40bce8
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi + 0x13]
movzx eax, byte [edx + 0x13]
sub ecx, eax
je 0x40bd06
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40bd06
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 0x14]
je 0x40bd95
movzx edi, al
movzx eax, byte [edx + 0x14]
sub edi, eax
je 0x40bd35
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0x15]
movzx eax, byte [edx + 0x15]
sub edi, eax
je 0x40bd57
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0x16]
movzx eax, byte [edx + 0x16]
sub edi, eax
je 0x40bd79
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi + 0x17]
movzx eax, byte [edx + 0x17]
sub ecx, eax
je 0x40bd97
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40bd97
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi + 0x18]
cmp eax, dword [edx + 0x18]
je 0x40be26
movzx edi, al
movzx eax, byte [edx + 0x18]
sub edi, eax
je 0x40bdc6
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0x19]
movzx eax, byte [edx + 0x19]
sub edi, eax
je 0x40bde8
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0x1a]
movzx eax, byte [edx + 0x1a]
sub edi, eax
je 0x40be0a
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi + 0x1b]
movzx eax, byte [edx + 0x1b]
sub ecx, eax
je 0x40be28
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40be28
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi + 0x1c]
cmp eax, dword [edx + 0x1c]
je 0x40beb7
movzx edi, al
movzx eax, byte [edx + 0x1c]
sub edi, eax
je 0x40be57
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0x1d]
movzx eax, byte [edx + 0x1d]
sub edi, eax
je 0x40be79
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi + 0x1e]
movzx eax, byte [edx + 0x1e]
sub edi, eax
je 0x40be9b
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi + 0x1f]
movzx eax, byte [edx + 0x1f]
sub ecx, eax
je 0x40beb9
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40beb9
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
push 0x20
pop ecx
sub ebx, ecx
add esi, ecx
add edx, ecx
cmp ebx, ecx
jae 0x40ba31
add esi, ebx
add edx, ebx
cmp ebx, 0x1f
ja case.0x40bedf.0
jmp dword [ebx*4 + 0x40d0ea]
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov eax, 1
test eax, eax
je 0x40bf33
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + ecx*2]
cmp eax, 0x5c
jne 0x40bf18
mov ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + edx*2]
test ecx, ecx
jne 0x40bf28
jmp 0x40bf33
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x40befa
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax*2 + 2]
mov esp, ebp
pop ebp
ret
add byte [eax], al
add byte [eax], al
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movsx ecx, byte [eax]
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 4]
movsx eax, byte [edx]
cmp ecx, eax
jne 0x40bfc0
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx]
test edx, edx
je 0x40bfb1
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 4]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x40bfb5
mov al, 1
jmp 0x40bfc2
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
jmp 0x40bf81
xor al, al
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 4]
add edx, 1
invalid
mov dword [ebp - 4], edx
add dword [ecx + 0x458bfc55], ecx
clc
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
cmp ecx, dword [eax + 0x18]
jae 0x40c07a
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040bf76
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40c078
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 8]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + edx*4]
mov eax, ecx
jmp 0x40c07c
jmp 0x40c00f
xor eax, eax
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
mov word [ebp - 4], ax
movzx ecx, word [ebp + 8]
cmp ecx, 0x41
jl 0x40c0cf
movzx edx, word [ebp - 4]
cmp edx, 0x5a
jg 0x40c0cf
movzx eax, word [ebp - 4]
add eax, 0x20
mov word [ebp - 4], ax
mov ax, word [ebp - 4]
mov esp, ebp
pop ebp
ret
add bh, al
inc ebp
cld
add byte [eax], al
add byte [eax], al
jmp 0x40c155
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + ecx*2]
test eax, eax
je 0x40c181
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + ecx*2]
push eax
call fcn.0040c0a6
add esp, 4
movzx ecx, ax
add ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
jmp 0x40c14c
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret
mov ecx, 1
test ecx, ecx
je 0x40c237
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 4]
cmp dword [edx + 0x30], 0
jne 0x40c1fa
jmp 0x40c1d1
cmp dword [ebp + 0xc], 0
je 0x40c20b
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x30]
mov dword [eax], edx
cmp dword [ebp + 8], 0
jne 0x40c219
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
jmp 0x40c239
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x30]
push edx
call fcn.0040c136
add esp, 4
cmp dword [ebp + 8], eax
jne 0x40c235
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
jmp 0x40c239
jmp 0x40c1d1
xor eax, eax
mov esp, ebp
pop ebp
ret
push ecx
adc byte [edx - 0x18], dl
sbb eax, 0x83ffffff
les ecx, [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
je 0x40c310
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0040bf46
add esp, 4
mov byte [ebp - 1], al
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
cmp edx, ecx
je 0x40c2ca
movzx edx, byte [ebp - 1]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 1]
cmp edx, ecx
je 0x40c2ca
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, dword [ebp - 0x30]
push edx
call fcn.0040c0e6
add esp, 4
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x14], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + edx]
je 0x40c310
invalid
sbb edi, dword [edx + 4]
mov edx, 4
add al, 0
add byte [eax], al
shl edx, 0
mov eax, dword [ebp - 0x14]
inc ebp
in al, dx
inc ebp
in al, dx
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + edx]
je 0x40c310
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0xc], 4
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], 0
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x38]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], 0
mov dword [ebp - 0xc], 0
jmp 0x40c375
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x20]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x30]
cmp dword [ebp - 0xc], edx
jae 0x40c399
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xc]
or al, 0x8b
push ebp
hlt
mov eax, dword [ecx + edx]
add eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xc]
mov dword [ecx], eax
jmp 0x40c369
or al, 0x8b
push ebp
hlt
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0040bfc6
add esp, 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x40c3bc
jmp 0x40c478
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 0x10], edx
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x30]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x28]
add ecx, dword [ebp - 0x40]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], 8
jmp 0x40c408
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x20]
add edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x24]
cmp dword [ebp - 0xc], ecx
jae 0x40c428
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0xc]
mov eax, dword [edx]
add eax, dword [ebp - 0x24]
inc ebp
fmul qword [ebx + 0x4d03f04d]
hlt
mov dword [ecx], eax
jmp 0x40c3fc
inc ebp
fmul qword [ebx + 0x4d03f04d]
hlt
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 8], eax
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x24]
push edx
mov eax, dword [ebp - 0x10]
push eax
call dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x34]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
add edx, dword [eax + 0xc]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x34]
add edx, dword [ebp - 0x10]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [ebp - 0x44]
add esp, 4
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [esi - 0x11]
cmp eax, dword [edx - 0x11]
je 0x40c540
movzx edi, al
movzx eax, byte [edx - 0x11]
sub edi, eax
je 0x40c4e0
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x10]
movzx eax, byte [edx - 0x10]
sub edi, eax
je 0x40c502
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0xf]
movzx eax, byte [edx - 0xf]
sub edi, eax
je 0x40c524
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0xe]
movzx eax, byte [edx - 0xe]
sub ecx, eax
je 0x40c542
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c542
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0xd]
cmp eax, dword [edx - 0xd]
je 0x40c5d7
movzx edi, al
movzx eax, byte [edx - 0xd]
sub edi, eax
je 0x40c577
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub edi, eax
je 0x40c599
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0xb]
movzx eax, byte [edx - 0xb]
sub edi, eax
je 0x40c5bb
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0xa]
movzx eax, byte [edx - 0xa]
sub ecx, eax
je 0x40c5d9
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c5d9
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 9]
cmp eax, dword [edx - 9]
je 0x40c66f
movzx eax, byte [edx - 9]
movzx edi, byte [esi - 9]
sub edi, eax
je 0x40c60f
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 8]
movzx eax, byte [edx - 8]
sub edi, eax
je 0x40c631
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 7]
movzx eax, byte [edx - 7]
sub edi, eax
je 0x40c653
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 6]
movzx eax, byte [edx - 6]
sub ecx, eax
je 0x40c671
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c671
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 5]
cmp eax, dword [edx - 5]
je 0x40c706
movzx edi, al
movzx eax, byte [edx - 5]
sub edi, eax
je 0x40c6a6
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 4]
movzx eax, byte [edx - 4]
sub edi, eax
je 0x40c6c8
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 3]
movzx eax, byte [edx - 3]
sub edi, eax
je 0x40c6ea
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 2]
movzx eax, byte [edx - 2]
sub ecx, eax
je 0x40c708
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c708
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
movzx eax, byte [edx - 1]
movzx ecx, byte [esi - 1]
sub ecx, eax
je 0x40c2f6
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c2f6
mov eax, dword [esi - 0x1e]
cmp eax, dword [edx - 0x1e]
je 0x40c7c0
movzx edi, al
movzx eax, byte [edx - 0x1e]
sub edi, eax
je 0x40c760
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x1d]
movzx eax, byte [edx - 0x1d]
sub edi, eax
je 0x40c782
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x1c]
movzx eax, byte [edx - 0x1c]
sub edi, eax
je 0x40c7a4
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0x1b]
movzx eax, byte [edx - 0x1b]
sub ecx, eax
je 0x40c7c2
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c7c2
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0x1a]
cmp eax, dword [edx - 0x1a]
je 0x40c857
movzx edi, al
movzx eax, byte [edx - 0x1a]
sub edi, eax
je 0x40c7f7
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x19]
movzx eax, byte [edx - 0x19]
sub edi, eax
je 0x40c819
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x18]
movzx eax, byte [edx - 0x18]
sub edi, eax
je 0x40c83b
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0x17]
movzx eax, byte [edx - 0x17]
sub ecx, eax
je 0x40c859
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c859
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0x16]
cmp eax, dword [edx - 0x16]
je 0x40c8ee
movzx edi, al
movzx eax, byte [edx - 0x16]
sub edi, eax
je 0x40c88e
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x15]
movzx eax, byte [edx - 0x15]
sub edi, eax
je 0x40c8b0
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x14]
movzx eax, byte [edx - 0x14]
sub edi, eax
je 0x40c8d2
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0x13]
movzx eax, byte [edx - 0x13]
sub ecx, eax
je 0x40c8f0
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c8f0
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0x12]
cmp eax, dword [edx - 0x12]
je 0x40c985
movzx edi, al
movzx eax, byte [edx - 0x12]
sub edi, eax
je 0x40c925
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x11]
movzx eax, byte [edx - 0x11]
sub edi, eax
je 0x40c947
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x10]
movzx eax, byte [edx - 0x10]
sub edi, eax
je 0x40c969
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0xf]
movzx eax, byte [edx - 0xf]
sub ecx, eax
je 0x40c987
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40c987
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0xe]
cmp eax, dword [edx - 0xe]
je 0x40ca1c
movzx edi, al
movzx eax, byte [edx - 0xe]
sub edi, eax
je 0x40c9bc
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0xd]
movzx eax, byte [edx - 0xd]
sub edi, eax
je 0x40c9de
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub edi, eax
je 0x40ca00
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0xb]
movzx eax, byte [edx - 0xb]
sub ecx, eax
je 0x40ca1e
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40ca1e
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0xa]
cmp eax, dword [edx - 0xa]
je 0x40cab4
movzx eax, byte [edx - 0xa]
movzx edi, byte [esi - 0xa]
sub edi, eax
je 0x40ca54
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx eax, byte [edx - 9]
movzx edi, byte [esi - 9]
sub edi, eax
je 0x40ca76
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx eax, byte [edx - 8]
movzx edi, byte [esi - 8]
sub edi, eax
je 0x40ca98
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx eax, byte [edx - 7]
movzx ecx, byte [esi - 7]
sub ecx, eax
je 0x40cab6
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40cab6
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 6]
cmp eax, dword [edx - 6]
je 0x40cb4b
movzx edi, al
movzx eax, byte [edx - 6]
sub edi, eax
je 0x40caeb
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 5]
movzx eax, byte [edx - 5]
sub edi, eax
je 0x40cb0d
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 4]
movzx eax, byte [edx - 4]
sub edi, eax
je 0x40cb2f
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 3]
movzx eax, byte [edx - 3]
sub ecx, eax
je 0x40cb4d
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40cb4d
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov ax, word [esi - 2]
cmp ax, word [edx - 2]
je case.0x40bedf.0
jmp 0x40cfad
mov eax, dword [esi - 0x1f]
cmp eax, dword [edx - 0x1f]
je 0x40cbf6
movzx eax, byte [edx - 0x1f]
movzx edi, byte [esi - 0x1f]
sub edi, eax
je 0x40cb96
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x1e]
movzx eax, byte [edx - 0x1e]
sub edi, eax
je 0x40cbb8
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x1d]
movzx eax, byte [edx - 0x1d]
sub edi, eax
je 0x40cbda
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0x1c]
movzx eax, byte [edx - 0x1c]
sub ecx, eax
je 0x40cbf8
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40cbf8
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0x1b]
cmp eax, dword [edx - 0x1b]
je 0x40cc8d
movzx edi, al
movzx eax, byte [edx - 0x1b]
sub edi, eax
je 0x40cc2d
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x1a]
movzx eax, byte [edx - 0x1a]
sub edi, eax
je 0x40cc4f
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x19]
movzx eax, byte [edx - 0x19]
sub edi, eax
je 0x40cc71
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0x18]
movzx eax, byte [edx - 0x18]
sub ecx, eax
je 0x40cc8f
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40cc8f
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0x17]
cmp eax, dword [edx - 0x17]
je 0x40cd24
movzx edi, al
movzx eax, byte [edx - 0x17]
sub edi, eax
je 0x40ccc4
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x16]
movzx eax, byte [edx - 0x16]
sub edi, eax
je 0x40cce6
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x15]
movzx eax, byte [edx - 0x15]
sub edi, eax
je 0x40cd08
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0x14]
movzx eax, byte [edx - 0x14]
sub ecx, eax
je 0x40cd26
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40cd26
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0x13]
cmp eax, dword [edx - 0x13]
je 0x40cdbb
movzx edi, al
movzx eax, byte [edx - 0x13]
sub edi, eax
je 0x40cd5b
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x12]
movzx eax, byte [edx - 0x12]
sub edi, eax
je 0x40cd7d
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0x11]
movzx eax, byte [edx - 0x11]
sub edi, eax
je 0x40cd9f
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0x10]
movzx eax, byte [edx - 0x10]
sub ecx, eax
je 0x40cdbd
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40cdbd
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0xf]
cmp eax, dword [edx - 0xf]
je 0x40ce53
movzx eax, byte [edx - 0xf]
movzx edi, byte [esi - 0xf]
sub edi, eax
je 0x40cdf3
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0xe]
movzx eax, byte [edx - 0xe]
sub edi, eax
je 0x40ce15
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0xd]
movzx eax, byte [edx - 0xd]
sub edi, eax
je 0x40ce37
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 0xc]
movzx eax, byte [edx - 0xc]
sub ecx, eax
je 0x40ce55
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40ce55
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 0xb]
cmp eax, dword [edx - 0xb]
je 0x40ceea
movzx edi, al
movzx eax, byte [edx - 0xb]
sub edi, eax
je 0x40ce8a
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 0xa]
movzx eax, byte [edx - 0xa]
sub edi, eax
je 0x40ceac
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 9]
movzx eax, byte [edx - 9]
sub edi, eax
je 0x40cece
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 8]
movzx eax, byte [edx - 8]
sub ecx, eax
je 0x40ceec
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40ceec
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
mov eax, dword [esi - 7]
cmp eax, dword [edx - 7]
je 0x40cf81
movzx edi, al
movzx eax, byte [edx - 7]
sub edi, eax
je 0x40cf21
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 6]
movzx eax, byte [edx - 6]
sub edi, eax
je 0x40cf43
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 5]
movzx eax, byte [edx - 5]
sub edi, eax
je 0x40cf65
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx ecx, byte [esi - 4]
movzx eax, byte [edx - 4]
sub ecx, eax
je 0x40cf83
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
jmp 0x40cf83
xor ecx, ecx
test ecx, ecx
jne 0x40c2f6
movzx edi, byte [esi - 3]
movzx eax, byte [edx - 3]
sub edi, eax
je 0x40cfad
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
test ecx, ecx
jne 0x40c2f6
movzx eax, byte [edx - 2]
movzx edi, byte [esi - 2]
sub edi, eax
je case.0x40bedf.1
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 1]
jmp 0x40c708
mov ecx, dword [ebp + 8]
movzx eax, byte [edx]
movzx esi, byte [ecx]
sub esi, eax
je 0x40cff3
xor eax, eax
test esi, esi
setg al
lea eax, [eax*2 - 1]
test eax, eax
jne 0x40d0e4
movzx esi, byte [ecx + 1]
movzx eax, byte [edx + 1]
sub esi, eax
je 0x40d015
xor eax, eax
test esi, esi
setg al
lea eax, [eax*2 - 1]
test eax, eax
jne 0x40d0e4
movzx esi, byte [ecx + 2]
movzx eax, byte [edx + 2]
sub esi, eax
je 0x40d037
xor eax, eax
test esi, esi
setg al
lea eax, [eax*2 - 1]
test eax, eax
jne 0x40d0e4
movzx ecx, byte [ecx + 3]
movzx eax, byte [edx + 3]
sub ecx, eax
je 0x40d051
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 1]
mov eax, ecx
jmp 0x40d0e4
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx ecx, byte [edx]
movzx eax, byte [esi]
sub ecx, eax
je 0x40d07a
xor eax, eax
test ecx, ecx
setg al
lea eax, [eax*2 - 1]
test eax, eax
jne 0x40d0e4
movzx ecx, byte [edx + 1]
movzx eax, byte [esi + 1]
sub ecx, eax
je 0x40d098
xor eax, eax
test ecx, ecx
setg al
lea eax, [eax*2 - 1]
test eax, eax
jne 0x40d0e4
movzx ecx, byte [edx + 2]
movzx eax, byte [esi + 2]
jmp 0x40d03f
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
movzx ecx, byte [edx]
movzx eax, byte [esi]
sub ecx, eax
je 0x40d0c4
xor eax, eax
test ecx, ecx
setg al
lea eax, [eax*2 - 1]
test eax, eax
jne 0x40d0e4
movzx ecx, byte [edx + 1]
movzx eax, byte [esi + 1]
jmp 0x40d03f
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
jmp 0x40d03f
xor eax, eax
pop esi
pop ebx
pop ebp
ret