Function at 0x4012ee
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6dc
push edi
mov eax, dword [str.0000]
mov dword [ebp - 0x498], eax
mov cl, byte [0x404108]
mov byte [ebp - 0x494], cl
mov dx, word [0x4043d0]
mov word [ebp - 0x404], dx
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x402]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x490], 0
mov ax, word [0x40410c]
mov word [ebp - 0x4d8], ax
mov cl, byte [0x40410e]
mov byte [ebp - 0x4d6], cl
xor edx, edx
mov byte [ebp - 0x4d5], dl
mov ax, word [0x404110]
mov word [ebp - 0x40c], ax
xor ecx, ecx
mov dword [ebp - 0x40a], ecx
mov word [ebp - 0x406], cx
mov dx, word [0x4043d4]
mov word [ebp - 0x4cc], dx
xor eax, eax
mov word [ebp - 0x4ca], ax
mov byte [ebp - 0x4c8], al
mov dword [ebp - 0x6dc], 0
mov cx, word [0x4043d8]
mov word [ebp - 0x45c], cx
mov ecx, 0x13
xor eax, eax
lea edi, [ebp - 0x45a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov word [ebp - 0x4d4], 0
mov word [ebp - 0x4d0], 0
call fcn.004019a0
mov dword [ebp - 0x4c0], eax
cmp dword [ebp - 0x4c0], 1
je 0x4013ed
mov eax, dword [ebp - 0x4c0]
jmp 0x40199b
mov word [ebp - 0x48c], 1
mov word [ebp - 0x48a], 2
lea edx, [ebp - 0x498]
mov dword [ebp - 0x488], edx
mov word [ebp - 0x484], 2
mov word [ebp - 0x482], 2
lea eax, [ebp - 0x404]
mov dword [ebp - 0x480], eax
mov word [ebp - 0x47c], 3
mov word [ebp - 0x47a], 1
lea ecx, [ebp - 0x490]
mov dword [ebp - 0x478], ecx
mov word [ebp - 0x474], 4
mov word [ebp - 0x472], 2
lea edx, [ebp - 0x4d8]
mov dword [ebp - 0x470], edx
mov word [ebp - 0x46c], 5
mov word [ebp - 0x46a], 2
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x468], eax
mov word [ebp - 0x464], 0
lea ecx, [ebp - 0x48c]
push ecx
call fcn.00401b72
add esp, 4
mov dword [ebp - 0x4c0], eax
cmp dword [ebp - 0x4c0], 1
je 0x4014b9
mov edx, dword [ebp - 0x4c0]
push edx
call fcn.00401a18
add esp, 4
push 0x404114
lea eax, [ebp - 0x4d8]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x4014e9
push 0x404118
lea ecx, [ebp - 0x4d8]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4014f5
mov dword [0x4043c8], 1
jmp 0x4014ff
mov dword [0x4043c8], 0
cmp dword [0x4043c8], 0
je 0x401548
mov edx, 1
test edx, edx
je 0x401548
push 0x40411c
push str.Trwcrc_Debug.Txt
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov dword [0x404830], eax
cmp dword [0x404830], 0
jne 0x401548
push str._n_t_Error__Unable_to_create_debug_file_____Trwcrc_Debug.Txt_____n
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 4
push 1
call dword [sym.imp.MSVCRT.dll_exit]
lea eax, [ebp - 0x4bc]
push eax
push 0x40417c
lea ecx, [ebp - 0x498]
push ecx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
fld dword [ebp - 0x490]
call sub.MSVCRT.dll__ftol
mov word [ebp - 0x4d0], ax
cmp dword [0x4043c8], 0
je 0x4015f2
xor edx, edx
test edx, edx
je 0x4015b3
mov eax, dword [ebp - 0x4bc]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0x4bc]
and ecx, 0xffff
push ecx
lea edx, [ebp - 0x498]
push edx
push 0x404180
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 0x10
mov eax, 1
test eax, eax
je 0x4015f2
mov ecx, dword [ebp - 0x4bc]
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 0x4bc]
and edx, 0xffff
push edx
lea eax, [ebp - 0x498]
push eax
push str._nCRCDefault:_String___s___CRCStart:_Integer___5ld___04X___n_n
mov ecx, dword [0x404830]
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0x14
cmp dword [0x4043c8], 0
je 0x40165b
xor edx, edx
test edx, edx
je 0x401626
lea eax, [ebp - 0x404]
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
push eax
lea ecx, [ebp - 0x404]
push ecx
push 0x4041f8
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 0xc
mov edx, 1
test edx, edx
je 0x40165b
lea eax, [ebp - 0x404]
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
push eax
lea ecx, [ebp - 0x404]
push ecx
push str._nData:_t__s__Size:___d__chars._n_n
mov edx, dword [0x404830]
push edx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0x10
mov word [ebp - 0x4d4], 0
mov word [ebp - 0x4c4], 0
lea eax, [ebp - 0x404]
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
shr eax, 1
mov word [ebp - 0x4d4], ax
mov ecx, dword [ebp - 0x4d4]
and ecx, 0xffff
push ecx
lea edx, [ebp - 0x6d8]
push edx
lea eax, [ebp - 0x404]
push eax
call fcn.00401153
add esp, 0xc
push 0x404238
lea ecx, [ebp - 0x40c]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x4016d8
push str.FORWARD
lea edx, [ebp - 0x40c]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x40172e
mov ax, word [ebp - 0x4d4]
push eax
lea ecx, [ebp - 0x6d8]
push ecx
mov dx, word [ebp - 0x4bc]
push edx
call section..text
add esp, 0xc
mov word [ebp - 0x4c4], ax
mov eax, dword [ebp - 0x4c4]
and eax, 0xffff
push eax
push 0x404244
lea ecx, [ebp - 0x4cc]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov dword [ebp - 0x6dc], 0
jmp 0x401803
push 0x40424c
lea edx, [ebp - 0x40c]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x40175e
push str.REVERSE
lea eax, [ebp - 0x40c]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4017b2
mov cx, word [ebp - 0x4d4]
push ecx
lea edx, [ebp - 0x6d8]
push edx
mov ax, word [ebp - 0x4bc]
push eax
call fcn.00401076
add esp, 0xc
mov word [ebp - 0x4c4], ax
mov ecx, dword [ebp - 0x4c4]
and ecx, 0xffff
push ecx
push 0x404258
lea edx, [ebp - 0x4cc]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov dword [ebp - 0x6dc], 0
jmp 0x401803
mov ax, word [ebp - 0x4d4]
push eax
lea ecx, [ebp - 0x6d8]
push ecx
mov dx, word [ebp - 0x4bc]
push edx
call section..text
add esp, 0xc
mov word [ebp - 0x4c4], ax
mov eax, dword [ebp - 0x4c4]
and eax, 0xffff
push eax
push str._04X
lea ecx, [ebp - 0x4cc]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov dword [ebp - 0x6dc], 0
cmp dword [0x4043c8], 0
je 0x4018b6
xor edx, edx
test edx, edx
je 0x40185e
lea eax, [ebp - 0x4cc]
push eax
mov ecx, dword [ebp - 0x4c4]
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 0x4c4]
and edx, 0xffff
push edx
mov eax, dword [ebp - 0x4d4]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0x4d4]
and ecx, 0xffff
push ecx
push 0x404268
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 0x18
mov edx, 1
test edx, edx
je 0x4018b6
lea eax, [ebp - 0x4cc]
push eax
mov ecx, dword [ebp - 0x4c4]
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 0x4c4]
and edx, 0xffff
push edx
mov eax, dword [ebp - 0x4d4]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0x4d4]
and ecx, 0xffff
push ecx
push str._nSize:_t__3ld___X___tCRCString:_tCRCVAL:___5ld___04X___tCRCValue:__s_n_n
mov edx, dword [0x404830]
push edx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0x1c
cmp dword [0x4043c8], 0
je 0x4018d8
mov eax, 1
test eax, eax
je 0x4018d8
mov ecx, dword [0x404830]
push ecx
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
fld dword [ebp - 0x6dc]
fcomp dword [0x4034b0]
fnstsw ax
test ah, 0x40
je 0x4018ff
push str.TRWCRC:_CRC_Calculated_Successfully.
lea edx, [ebp - 0x45c]
push edx
call sub.MSVCRT.dll_strcpy
add esp, 8
mov word [ebp - 0x4b8], 6
mov word [ebp - 0x4b6], 2
lea eax, [ebp - 0x4cc]
mov dword [ebp - 0x4b4], eax
mov word [ebp - 0x4b0], 7
mov word [ebp - 0x4ae], 1
lea ecx, [ebp - 0x6dc]
mov dword [ebp - 0x4ac], ecx
mov word [ebp - 0x4a8], 8
mov word [ebp - 0x4a6], 2
lea edx, [ebp - 0x45c]
mov dword [ebp - 0x4a4], edx
mov word [ebp - 0x4a0], 0
lea eax, [ebp - 0x4b8]
push eax
call fcn.00401a3d
add esp, 4
mov dword [ebp - 0x4c0], eax
cmp dword [ebp - 0x4c0], 1
je 0x40198f
mov ecx, dword [ebp - 0x4c0]
push ecx
call fcn.00401a18
add esp, 4
push 0
call fcn.00401a18
add esp, 4
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret