Function at 0x40d3f4
Capabilities:
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
mov dword [esp + 0x14], ecx
mov esi, ebx
push edi
mov ecx, 0x4006
mov dword [esp + 0x24], eax
mov byte [esp + 0xe], al
call fcn.004100b0
mov dword [esp + 0x1c], eax
test eax, eax
je 0x41b652
mov al, byte [0x443cc9]
mov byte [esp + 0xf], al
push 0x2f
pop edx
mov ecx, esi
call fcn.0040d7d4
mov esi, eax
test esi, esi
je 0x40d61d
movzx eax, word [esi + 2]
push eax
call dword [sym.imp.msvcrt.dll_towlower]
movzx edi, ax
pop ecx
test di, di
je 0x40d61d
cmp edi, 0x3f
je 0x41b919
cmp edi, 0x71
je 0x41b669
push 0x6b
pop eax
cmp edi, 0x63
je 0x40d4e4
cmp di, ax
je 0x41b88a
cmp edi, 0x72
je 0x40d4e4
cmp edi, 0x75
je 0x41b678
cmp edi, 0x61
je 0x41b684
cmp edi, 0x78
je 0x40d62f
cmp edi, 0x79
je 0x41b690
cmp edi, 0x65
je 0x41b69c
cmp edi, 0x64
jne 0x40d78b
mov edx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
mov eax, esi
mov ecx, esi
sub eax, ebx
sar eax, 1
sub edx, eax
call fcn.00411040
mov edi, dword [esp + 0x18]
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
jmp 0x40d434
cmp di, ax
je 0x41b88a
mov dword [0x443ccc], 1
lea ebx, [esi + 4]
xor edi, edi
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x40d501
sub ecx, edx
sar ecx, 1
lea eax, [ecx + 2]
lea ecx, [eax + eax]
mov dword [esp + 0x14], eax
call fcn.004100b0
mov edi, eax
test edi, edi
je 0x41b899
mov edx, dword [esp + 0x14]
mov ecx, edi
push ebx
call fcn.00411040
xor eax, eax
mov ecx, edi
mov word [esi], ax
call fcn.00412430
cmp byte [esp + 0xe], 0
mov esi, eax
push 0x22
pop ebx
jne 0x40d784
cmp word [esi], bx
jne 0x40d5f9
mov edi, 0x4000
mov ecx, edi
call fcn.004100b0
mov ebx, eax
mov ecx, edi
mov dword [esp + 0x10], ebx
call fcn.004100b0
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x41b902
test eax, eax
je 0x41b902
push 0x48
xor ebx, ebx
lea eax, [esp + 0x2c]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [esi + 2]
push 0x22
pop edx
call fcn.0040d7d4
test eax, eax
je 0x40d5bd
lea edi, [eax + 2]
push 0x22
pop edx
mov ecx, edi
call fcn.0040d7d4
test eax, eax
je 0x40d651
push 0x22
pop edx
cmp word [esi], dx
jne 0x40d5f9
add esi, 2
mov edi, esi
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
cmp ax, bx
jne 0x40d5cd
sub edi, ecx
mov ecx, esi
sar edi, 1
call fcn.00412349
test eax, eax
je 0x40d5f9
xor ecx, ecx
mov edx, edi
mov word [eax], cx
add eax, 2
push eax
mov ecx, esi
call fcn.004118c0
mov ecx, esi
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x40d600
sub ecx, edx
sar ecx, 1
push 0xa
pop eax
mov word [esi + ecx*2], ax
mov ecx, dword [esp + 0x18]
mov dword [ecx + 8], esi
mov ecx, dword [esp + 0x1c]
call fcn.00410040
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov byte [0x443cc9], 1
lea eax, [esi + 4]
push eax
mov edx, dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
sar eax, 1
sub edx, eax
mov ecx, esi
call fcn.00411040
jmp 0x40d434
movzx ebx, word [edi]
xor eax, eax
push 0x26
pop edx
mov ecx, esi
mov dword [esp + 0x14], ebx
mov word [edi], ax
call fcn.0040d7d4
test eax, eax
jne 0x40d7cf
push 0x3c
pop edx
mov ecx, esi
call fcn.0040d7d4
test eax, eax
jne 0x40d7cf
push 0x3e
pop edx
mov ecx, esi
call fcn.0040d7d4
test eax, eax
jne 0x40d7cf
push 0x40
pop edx
mov ecx, esi
call fcn.0040d7d4
test eax, eax
jne 0x40d7cf
push 0x5e
pop edx
mov ecx, esi
call fcn.0040d7d4
test eax, eax
jne 0x40d7cf
push 0x7c
pop edx
mov ecx, esi
call fcn.0040d7d4
test eax, eax
jne 0x40d7cf
movzx eax, word [esi]
mov ebx, esi
test ax, ax
je 0x41b8f6
mov ecx, eax
push ecx
call dword [sym.imp.msvcrt.dll_iswspace]
pop ecx
test eax, eax
jne 0x40d6f7
add ebx, 2
movzx eax, word [ebx]
mov ecx, eax
test ax, ax
jne 0x40d6d9
jmp 0x41b8f6
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x5c], ecx
mov ecx, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x24]
jne 0x40d716
sub ecx, edx
mov eax, 0x2000
sar ecx, 1
cmp ecx, eax
jae 0x41b8aa
mov ecx, dword [esp + 0x10]
mov edx, eax
push esi
call fcn.00411040
push 0x402178
mov edx, 0x2000
mov ecx, ebx
call fcn.00411040
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x28]
mov edx, dword [esp + 0x1c]
push 0x2003
mov word [edi], ax
call fcn.004110b0
mov ecx, dword [esp + 0x10]
mov edi, eax
call fcn.00410040
mov ecx, ebx
call fcn.00410040
test edi, edi
jne 0x41b8c8
xor ebx, ebx
jmp 0x40d5bd
cmp edi, 0x66
je 0x41b6ea
cmp edi, 0x76
je 0x41b747
cmp edi, 0x74
je 0x41b7b6
mov edx, dword [ebp + 0xc]
lea eax, [esi + 4]
push eax
mov eax, esi
mov ecx, esi
sub eax, ebx
sar eax, 1
sub edx, eax
call fcn.00411040
cmp edi, 0x73
jne 0x40d434
mov byte [esp + 0xe], 1
jmp 0x40d434
mov word [edi], bx
jmp 0x40d784
xor eax, eax
push eax
call fcn.00414b60
test eax, eax
je 0x41b652
push 1
jmp 0x41b663
push esi
call dword [sym.imp.msvcrt.dll_exit]
mov dword [0x448530], 1
jmp 0x40d636
mov byte [0x44805c], 1
jmp 0x40d636
xor eax, eax
mov byte [0x44805c], al
jmp 0x40d636
xor eax, eax
mov byte [0x443cc9], al
jmp 0x40d636
mov edi, dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
mov ecx, esi
sar eax, 1
sub edi, eax
lea eax, [esi + 4]
push eax
mov edx, edi
call fcn.00411040
push 0x3a
pop eax
cmp word [esi], ax
jne 0x41b6de
push 3
lea eax, [esi + 2]
push 0x403a9c
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x41b6de
mov byte [0x443cc9], al
jmp 0x41b784
mov byte [0x443cc9], 1
jmp 0x41b79b
mov edi, dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
mov ecx, esi
sar eax, 1
sub edi, eax
lea eax, [esi + 4]
push eax
mov edx, edi
call fcn.00411040
push 0x3a
pop eax
cmp word [esi], ax
jne 0x41b733
push 3
lea eax, [esi + 2]
push 0x403a9c
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x41b733
push 0x20
pop eax
mov word [0x42d0d8], ax
mov word [0x42d0d4], ax
jmp 0x41b784
push 6
pop eax
push 4
mov word [0x42d0d8], ax
pop eax
mov word [0x42d0d4], ax
jmp 0x41b79b
mov edi, dword [ebp + 0xc]
mov eax, esi
sub eax, ebx
mov ecx, esi
sar eax, 1
sub edi, eax
lea eax, [esi + 4]
push eax
mov edx, edi
call fcn.00411040
push 0x3a
pop eax
cmp word [esi], ax
jne 0x41b794
push 3
lea eax, [esi + 2]
push 0x403a9c
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x41b794
mov byte [0x443cc8], al
lea eax, [esi + 8]
jmp 0x41b78c
lea eax, [esi + 6]
push eax
mov edx, edi
jmp 0x40d645
mov byte [0x443cc8], 1
push 3
push 0x403aa4
push esi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x40d434
jmp 0x41b789
cmp byte [0x443cc9], 0
je 0x40d7a6
push 0x3a
lea edi, [esi + 4]
pop eax
cmp word [edi], ax
jne 0x41b884
movzx eax, word [esi + 6]
push eax
call dword [sym.imp.msvcrt.dll_iswxdigit]
pop ecx
test eax, eax
je 0x41b884
movzx eax, word [esi + 8]
push eax
call dword [sym.imp.msvcrt.dll_iswxdigit]
pop ecx
test eax, eax
je 0x41b884
movzx eax, word [esi + 0xa]
push eax
call dword [sym.imp.msvcrt.dll_iswxdigit]
pop ecx
test eax, eax
jne 0x41b884
movzx eax, word [esi + 6]
push eax
call dword [sym.imp.msvcrt.dll_iswdigit]
pop ecx
movzx ecx, word [esi + 6]
test eax, eax
je 0x41b823
lea eax, [ecx - 0x30]
jmp 0x41b831
push ecx
call dword [sym.imp.msvcrt.dll_towlower]
pop ecx
push 0x57
pop ecx
sub ax, cx
movzx eax, ax
shl eax, 4
mov word [0x42d5a0], ax
movzx eax, word [esi + 8]
push eax
call dword [sym.imp.msvcrt.dll_iswdigit]
pop ecx
movzx ecx, word [esi + 8]
test eax, eax
je 0x41b856
lea eax, [ecx - 0x30]
jmp 0x41b864
push ecx
call dword [sym.imp.msvcrt.dll_towlower]
pop ecx
push 0x57
pop ecx
sub ax, cx
mov edx, dword [ebp + 0xc]
mov ecx, edi
movzx eax, ax
or word [0x42d5a0], ax
lea eax, [esi + 0xa]
push eax
mov eax, esi
sub eax, ebx
sar eax, 1
sub edx, eax
call fcn.00411040
push edi
jmp 0x40d63a
mov dword [0x448058], 1
jmp 0x40d4f7
xor eax, eax
push eax
call fcn.00414b60
test eax, eax
je 0x41b899
jmp 0x41b65e
xor ebx, ebx
push ebx
push 0x400023df
call fcn.0040c5a2
pop ecx
pop ecx
push ebx
call fcn.00414b60
test eax, eax
je 0x41b8b9
jmp 0x41b65e
cmp edi, 3
jne 0x40d5f9
xor ebx, ebx
push ebx
push dword [0x443cf0]
call fcn.0040c5a2
mov esi, dword [0x443cf0]
pop ecx
pop ecx
push ebx
call fcn.00414b60
test eax, eax
je 0x41b8e7
jmp 0x41b662
mov eax, dword [esp + 0x14]
mov word [edi], ax
jmp 0x40d784
mov esi, dword [0x443cf0]
xor eax, eax
push eax
call fcn.00414b60
test eax, eax
je 0x41b908
jmp 0x41b662
call fcn.00429373
xor ebx, ebx
cmp dword [0x42d544], ebx
jne 0x41b9b0
push ebx
push 0x40002399
call fcn.0040c108
pop ecx
pop ecx
cmp dword [0x42d544], ebx
jne 0x41b9b0
push ebx
push 0x4000239a
call fcn.0040c108
pop ecx
pop ecx
cmp byte [esp + 0xf], bl
jne 0x41b95c
cmp byte [0x443cc9], bl
je 0x41b9b0
cmp dword [0x42d544], ebx
jne 0x41b9b0
push ebx
push 0x4000239b
call fcn.0040c108
pop ecx
pop ecx
cmp dword [0x42d544], ebx
jne 0x41b9b0
push ebx
push 0x4000239c
call fcn.0040c108
pop ecx
pop ecx
cmp dword [0x42d544], ebx
jne 0x41b9b0
push ebx
push 0x4000239d
call fcn.0040c108
pop ecx
pop ecx
cmp dword [0x42d544], ebx
jne 0x41b9b0
push ebx
push 0x4000239e
call fcn.0040c108
pop ecx
pop ecx
mov byte [0x448065], bl
mov dword [0x44851c], ebx
push ebx
call fcn.00414b60
test eax, eax
je 0x41b9bc
jmp 0x41b65e