Function at 0x402a9f
Capabilities:
Query environment variable
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x30], 0x7cfffffb
mov dword [0x42c2ec], 1
mov dword [0x42b454], 0
mov dword [0x42c204], 0
mov dword [ebp - 0x5c], 0
mov dword [0x42c29c], 1
mov eax, dword [ebp + 8]
add eax, 0x400
mov dword [0x42c360], eax
mov dword [0x42b450], 0
mov dword [0x42c194], 0
call dword [sym.imp.MSVCRT20.dll__tzset]
call fcn.00420644
mov dword [0x42b008], eax
call fcn.0042031a
call fcn.00420339
call fcn.00420644
mov dword [0x42b008], eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0041e783
add esp, 8
mov dword [ebp - 0x50], eax
mov eax, dword [0x42b5e0]
push eax
call fcn.004212c8
add esp, 4
call fcn.00420b29
mov dword [0x42b840], 0
cmp dword [0x42c1ec], 0
je 0x40294d
push 0x42f094
push 0x4326e8
call dword [sym.imp.MSVCRT20.dll_fopen]
add esp, 8
mov dword [0x42b840], eax
cmp dword [0x42c1ec], 1
je 0x402967
cmp dword [0x42c1ec], 2
jne 0x402971
mov eax, dword [0x42b840]
mov dword [0x42c1a0], eax
push 0x200
call fcn.0041a3d0
add esp, 4
mov dword [0x42b8a4], eax
mov eax, dword [0x42b8a4]
push eax
call fcn.004209da
add esp, 4
mov eax, dword [0x42c180]
push eax
call fcn.0042018e
add esp, 4
call fcn.004093e4
call fcn.00420644
mov dword [ebp - 0x54], eax
mov dword [0x42c230], 0
mov dword [section..bss], 0
mov dword [0x42b004], 0
mov dword [0x42b540], 1
mov dword [0x42cc00], 0
mov dword [0x42c32c], 0
push 0xa28
call fcn.0041a3d0
add esp, 4
mov dword [0x42c0d4], eax
push 0x200
call fcn.0041a3d0
add esp, 4
mov dword [0x42b470], eax
mov eax, dword [0x42b470]
mov byte [eax], 0
push 0x250
call fcn.0041a3d0
add esp, 4
mov dword [0x42b460], eax
push 0x200
call fcn.0041a3d0
add esp, 4
mov dword [0x42b4b8], eax
push 0xc8
call fcn.0041a3d0
add esp, 4
mov dword [0x42c244], eax
mov eax, dword [0x42c360]
shl eax, 2
push eax
call fcn.0041a40d
add esp, 4
mov dword [0x42b450], eax
mov eax, dword [0x42c360]
shl eax, 2
push eax
call fcn.0041a3d0
add esp, 4
mov dword [0x42c194], eax
mov dword [0x42b00c], 0x14
call fcn.00404337
call fcn.00402858
mov eax, dword [0x42b5e0]
push eax
call fcn.004212c8
add esp, 4
call fcn.0041dee3
push 0
push 0
push 0x42c1c0
call fcn.00419f50
add esp, 0xc
push 0
push 0
push 0x42b160
call fcn.00419f50
add esp, 0xc
push 0
push 0
push 0x42cbe0
call fcn.00419f50
add esp, 0xc
push 0
push 0
push 0x42b4f0
call fcn.00419f50
add esp, 0xc
push 0
push 0
push 0x42b510
call fcn.00419f50
add esp, 0xc
push 0
push 0
push 0x42c390
call fcn.00419f50
add esp, 0xc
push fcn.00402331
push 2
call dword [sym.imp.MSVCRT20.dll_signal]
add esp, 8
cmp eax, 0xffffffff
jne 0x402b29
push 0x42f7d0
call fcn.004081d7
add esp, 4
push 0x402394
push 0xf
call dword [sym.imp.MSVCRT20.dll_signal]
add esp, 8
cmp eax, 0xffffffff
jne 0x402b4f
push 0x42f7d0
call fcn.004081d7
add esp, 4
push 0x402394
push 0x15
call dword [sym.imp.MSVCRT20.dll_signal]
add esp, 8
cmp eax, 0xffffffff
jne 0x402b75
push 0x42f7d0
call fcn.004081d7
add esp, 4
push 0x402418
call fcn.0042aa7c
add esp, 4
mov dword [ebp - 0x3c], 0
jmp 0x402b91
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xa
jae 0x402bd1
mov eax, str.aRj_sOfTwArE
add eax, 0x14
push eax
mov eax, str.aRj_sOfTwArE
add eax, 0x48
push eax
mov eax, str.aRj_sOfTwArE
add eax, 0x3e
push eax
mov eax, str.aRj_sOfTwArE
add eax, 0x34
push eax
call fcn.00404150
add esp, 0x10
mov dword [0x42b540], eax
jmp 0x402b8e
push 0xffffffffffffffff
call fcn.004242d0
add esp, 4
mov eax, dword [0x42c1a0]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x42b840]
cmp dword [ebp - 0x4c], eax
jne 0x402c0c
cmp dword [0x42b540], 0
jne 0x402c0c
call dword [sym.imp.MSVCRT20.dll___p__iob]
add eax, 0x40
mov dword [0x42c1a0], eax
push str.3.10
mov eax, dword [0x42c244]
push eax
call sub.MSVCRT20.dll_strcpy
add esp, 8
push str._23_06_2005_
mov eax, dword [0x42c244]
push eax
push 0x432250
push str.ARJ32__s_s.
push 0
call fcn.004093aa
add esp, 0x14
cmp dword [0x42b540], 0
jne 0x402c86
push 0x42f1f8
mov eax, str.aRj_sOfTwArE
add eax, 0x3e
push eax
call sub.MSVCRT20.dll_strcmp
add esp, 8
test eax, eax
jne 0x402c86
mov eax, str.aRj_sOfTwArE
add eax, 0x48
push eax
push 0x430f18
push 0
call fcn.004093aa
add esp, 0xc
jmp 0x402c95
push 0x4326d0
push 0
call fcn.004093aa
add esp, 8
mov eax, dword [ebp - 0x4c]
mov dword [0x42c1a0], eax
call fcn.00420644
mov dword [ebp - 0x10], eax
push 0
push 0xfffe
push 0x42b160
call fcn.00419f50
add esp, 0xc
push 0
push 0xfffe
push 0x42b510
call fcn.00419f50
add esp, 0xc
push 0
push 0xfffe
push 0x42c390
call fcn.00419f50
add esp, 0xc
mov dword [0x42c178], 0
cmp dword [0x42b398], 0
jne 0x402d95
mov eax, dword [0x42c180]
push eax
call dword [sym.imp.MSVCRT20.dll_getenv]
add esp, 4
mov dword [0x42f054], eax
cmp dword [0x42f054], 0
je 0x402d36
mov eax, dword [0x42c0d4]
push eax
mov eax, dword [0x42f054]
push eax
mov eax, dword [ebp - 0x50]
push eax
call fcn.0041ac8b
add esp, 0xc
jmp 0x402d95
push 0
mov eax, dword [0x42b470]
push eax
mov eax, dword [0x42b8a4]
push eax
call fcn.0041eba2
add esp, 0xc
push str.arj.cfg
mov eax, dword [0x42b470]
push eax
call sub.MSVCRT20.dll_strcat
add esp, 8
mov eax, dword [0x42b470]
push eax
call fcn.00420424
add esp, 4
test eax, eax
je 0x402d8d
mov eax, dword [0x42c0d4]
push eax
mov eax, dword [0x42b470]
push eax
mov eax, dword [ebp - 0x50]
push eax
call fcn.0041ac8b
add esp, 0xc
mov eax, dword [0x42b470]
mov byte [eax], 0
cmp dword [0x42ccb4], 0
je 0x402dac
mov dword [0x42c204], 1
cmp dword [0x42c26c], 0
je 0x402dc3
mov dword [0x42cc70], 1
cmp dword [0x42b5e0], 1
jne 0x402dd7
mov dword [ebp - 0x5c], 1
mov eax, dword [0x42b5e0]
push eax
call fcn.004212c8
add esp, 4
cmp dword [0x42c2ec], 0
je 0x402df7
call fcn.00420b29
cmp dword [0x42cc5c], 1
je 0x402e11
cmp dword [0x42cc5c], 3
jne 0x402e1b
mov dword [0x42cc70], 0
cmp dword [0x42cc70], 0
je 0x402e3f
cmp dword [0x42cc5c], 4
jne 0x402e3f
mov dword [0x42cc70], 2
cmp dword [0x42b540], 0
jne 0x402e5b
mov dword [0x42b540], 1
jmp 0x402e65
mov dword [0x42b540], 0
cmp dword [0x42b540], 0
jne 0x402e8e
xor eax, eax
mov al, byte [0x432f30]
test eax, eax
je 0x402e8e
push 0x42fbc0
call fcn.00402837
add esp, 4
mov dword [ebp - 0x50], 0
mov eax, dword [0x42b468]
movsx eax, byte [eax]
test eax, eax
jne 0x402ee3
mov dword [ebp - 0xc], 1
jmp 0x402eb4
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 8], eax
jle 0x402ede
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + eax*4]
push eax
call fcn.00401f73
add esp, 8
mov dword [ebp - 0x50], eax
jmp 0x402eb1
jmp 0x40304e
push 0x42f090
mov eax, dword [0x42b468]
push eax
call fcn.00416476
add esp, 8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
push 0x200
mov eax, dword [0x42c0d4]
push eax
call dword [sym.imp.MSVCRT20.dll_fgets]
add esp, 0xc
test eax, eax
je 0x40302a
mov eax, dword [0x42c0d4]
push eax
call fcn.00419677
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x58], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
jmp 0x402f3f
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
movsx eax, byte [eax]
test eax, eax
je 0x402f9d
cmp dword [0x42b5cc], 0
je 0x402f74
mov eax, dword [ebp - 0x1c]
movsx eax, byte [eax]
cmp eax, 0xa
jne 0x402f6f
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0
jmp 0x402f98
mov eax, dword [ebp - 0x1c]
movsx eax, byte [eax]
cmp eax, 0xa
je 0x402f92
mov eax, dword [ebp - 0x1c]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x402f98
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0
jmp 0x402f3c
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x1c]
test eax, eax
jle 0x403025
mov eax, dword [ebp - 0x1c]
movsx eax, byte [eax]
test eax, eax
jne 0x402fdb
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x1c]
test eax, eax
jle 0x402fdb
inc dword [ebp - 0x1c]
jmp 0x402fb7
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x1c]
test eax, eax
jle 0x403020
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00401f73
add esp, 8
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x1c]
movsx eax, byte [eax]
test eax, eax
je 0x403020
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x1c]
test eax, eax
jle 0x403020
inc dword [ebp - 0x1c]
jmp 0x402ffc
jmp 0x402fa9
jmp 0x402ef9
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.MSVCRT20.dll_fclose]
add esp, 4
cmp dword [ebp - 0x58], 0
jne 0x40304e
push 0x42f988
call fcn.004081d7
add esp, 4
cmp dword [0x42ccb4], 0
je 0x403065
mov dword [0x42c204], 1
cmp dword [0x42c26c], 0
je 0x40307c
mov dword [0x42cc70], 1
mov eax, dword [0x42b5e0]
push eax
call fcn.004212c8
add esp, 4
cmp dword [0x42c2ec], 0
je 0x40309c
call fcn.00420b29
cmp dword [0x42b474], 0
jl 0x4030c5
mov eax, dword [0x42b470]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b470]
push eax
call fcn.00401cdd
add esp, 4
mov dword [ebp - 0x48], 0
jmp 0x4030d4
inc dword [ebp - 0x48]
mov eax, dword [0x42b474]
cmp dword [ebp - 0x48], eax
jge 0x403143
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x42c194]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x42b4ac]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.MSVCRT20.dll__stricmp]
add esp, 8
test eax, eax
je 0x40313e
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004214e0
add esp, 4
test eax, eax
je 0x40312f
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00421532
add esp, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [0x42c194]
mov dword [edx + ecx*4], eax
jmp 0x4030d1
cmp dword [0x42cc5c], 1
je 0x40315d
cmp dword [0x42cc5c], 3
jne 0x403167
mov dword [0x42cc70], 0
cmp dword [0x42cc70], 0
je 0x40318b
cmp dword [0x42cc5c], 4
jne 0x40318b
mov dword [0x42cc70], 2
cmp dword [0x42b00c], 0
je 0x4031a5
push 0x42fbc0
call fcn.00402837
add esp, 4
cmp dword [ebp - 0x50], 0x49
jne 0x40323c
mov eax, dword [0x42b470]
movsx eax, byte [eax]
test eax, eax
jne 0x4031e2
push 0x200
mov eax, dword [0x42b8a4]
push eax
mov eax, dword [0x42b470]
push eax
call fcn.00419717
add esp, 0xc
cmp dword [ebp - 0x5c], 0
jne 0x4031e2
mov eax, dword [0x42b5e0]
push eax
call fcn.004212c8
add esp, 4
mov eax, dword [0x42b470]
push eax
call fcn.0041be20
add esp, 4
test eax, eax
je 0x40321a
push str.OK_________n
push 0
call fcn.004093aa
add esp, 8
jmp 0x403231
push 5
call fcn.004203a6
add esp, 4
push 0x42fbc0
call fcn.004081d7
add esp, 4
push 0
call dword [sym.imp.MSVCRT20.dll_exit]
add esp, 4
cmp dword [ebp - 0x50], 0x51
jne 0x403378
mov eax, dword [0x42b470]
movsx eax, byte [eax]
test eax, eax
jne 0x40326f
push 0x200
mov eax, dword [0x42b8a4]
push eax
mov eax, dword [0x42b470]
push eax
call fcn.00419717
add esp, 0xc
mov eax, dword [0x42b5e0]
push eax
call fcn.004212c8
add esp, 4
push 0x200
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 0x44], eax
push str.arjfixed.arj
mov eax, dword [ebp - 0x44]
push eax
call sub.MSVCRT20.dll_strcpy
add esp, 8
push 0x42f0a4
mov eax, dword [ebp - 0x44]
push eax
call fcn.00416513
add esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x4032c9
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.MSVCRT20.dll_fclose]
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
push str.arjfixed.arj
mov eax, dword [0x42b4b8]
push eax
call sub.MSVCRT20.dll_strcpy
add esp, 8
call fcn.00409487
mov dword [ebp - 0x44], eax
cmp dword [0x42c3ac], 0
jne 0x403304
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
push 0
push 0
mov eax, dword [0x42b4b8]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [0x42b470]
push eax
call fcn.00428437
add esp, 0x14
test eax, eax
je 0x403343
mov eax, dword [0x42b4b8]
mov byte [eax], 0
mov eax, dword [0x42b470]
push eax
push 0x4309e8
call fcn.004081d7
add esp, 8
mov eax, dword [0x42b4b8]
push eax
push 0x430fb8
push 0x22
call fcn.004093aa
add esp, 0xc
mov eax, dword [0x42b4b8]
mov byte [eax], 0
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
push 0
call dword [sym.imp.MSVCRT20.dll_exit]
add esp, 4
cmp dword [ebp + 8], 2
jl 0x40339c
cmp dword [0x42c27c], 0
jne 0x40339c
cmp dword [0x42b00c], 0
je 0x403461
push 0
call fcn.004242d0
add esp, 4
mov dword [0x42c27c], 1
mov eax, dword [0x42b5e0]
push eax
call fcn.004212c8
add esp, 4
mov eax, dword [0x42b8a4]
push eax
mov eax, dword [0x42b470]
push eax
call sub.MSVCRT20.dll_strcpy
add esp, 8
call dword [sym.imp.MSVCRT20.dll___p__iob]
add eax, 0x20
push eax
call fcn.00420bee
add esp, 4
test eax, eax
je 0x403417
cmp dword [0x42c330], 0
jne 0x403408
mov dword [0x42c330], 1
jmp 0x403412
mov dword [0x42c330], 0
jmp 0x403421
mov dword [0x42c330], 0
mov dword [0x42c0e0], 1
mov dword [ebp - 0x50], 0x50
mov dword [0x42b474], 1
cmp dword [ebp + 8], 2
jl 0x403456
mov eax, dword [0x42c194]
mov dword [eax], str.arjl.txt
jmp 0x403461
mov eax, dword [0x42c194]
mov dword [eax], str.arjs.txt
cmp dword [0x42b5a4], 0
je 0x40347d
push 0x431660
push 2
call fcn.004093aa
add esp, 8
mov eax, dword [0x42c32c]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b5f0]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b438]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b408]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b45c]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b3f8]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42c0fc]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b4b4]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b4ac]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42c0b4]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b83c]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b184]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42c140]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42c1e8]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b5b0]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42c370]
push eax
call fcn.0042018e
add esp, 4
mov eax, dword [0x42b408]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42b45c]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42b3f8]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42c0fc]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42b4b4]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42b4ac]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42c0b4]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42b83c]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42b184]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42c140]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42c1e8]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42b5b0]
push eax
call fcn.0041961e
add esp, 4
mov eax, dword [0x42c370]
push eax
call fcn.0041961e
add esp, 4
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00401140
add esp, 8
cmp dword [0x42b5d8], 0
jle 0x40363d
push 0x42b5d8
call fcn.0041fbec
add esp, 4
cmp dword [0x42c0e4], 0
je 0x403668
mov eax, dword [0x42c37c]
movsx eax, byte [eax]
test eax, eax
je 0x403668
mov eax, dword [0x42c37c]
push eax
call fcn.004023d0
add esp, 4
cmp dword [0x42c13c], 0
jne 0x403696
push 0x42b160
call fcn.00419e4d
add esp, 4
push 0
push 0xfffe
push 0x42b160
call fcn.00419f50
add esp, 0xc
push 0
push 0
push 0
push 0
push 0x42f010
push 0
push 0x42b160
call fcn.0041a03d
add esp, 0x1c
cmp dword [0x42b4a8], 0
jne 0x4036cc
cmp dword [0x42b47c], 0
je 0x4036d1
call fcn.0041aa1e
cmp dword [ebp - 0x50], 0x57
je 0x4036e8
cmp dword [0x42b3f4], 0
je 0x4036f2
call fcn.0041eff4
jmp 0x403704
cmp dword [0x42c254], 0
je 0x403704
call fcn.00401b68
cmp dword [0x42c0f8], 0
je 0x4037cc
push str._rw
mov eax, dword [0x42cc14]
push eax
call sub.MSVCRT20.dll_strcmp
add esp, 8
test eax, eax
jne 0x4037cc
push 0x51
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x430210
push 0
call fcn.004093aa
add esp, 8
push 0x50
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004209f6
add esp, 8
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00419677
add esp, 4
mov dword [0x42cc14], eax
cmp dword [ebp - 0x38], 0
jne 0x40377b
cmp dword [ebp - 0x50], 0x47
jne 0x4037bf
push 0x430230
push 0
call fcn.004093aa
add esp, 8
push 0x50
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004209f6
add esp, 8
mov eax, dword [0x42cc14]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.MSVCRT20.dll_strcmp
add esp, 8
test eax, eax
je 0x4037bf
push 0x430250
call fcn.004081d7
add esp, 4
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
mov eax, dword [0x42cc14]
movsx eax, byte [eax]
test eax, eax
jne 0x403800
cmp dword [ebp - 0x50], 0x47
je 0x4037f3
cmp dword [0x42c0f8], 0
je 0x403800
push 0x42f340
call fcn.004081d7
add esp, 4
mov dword [0x42b00c], 0x14
cmp dword [0x42c3cc], 0
je 0x40381c
call fcn.0041a60b
cmp dword [ebp - 0x38], 0
je 0x40391a
mov eax, dword [0x42b470]
push eax
call fcn.00420424
add esp, 4
test eax, eax
je 0x40391a
mov dword [0x42b004], 1
cmp dword [0x42c328], 0
jne 0x403881
mov dword [0x42c0f4], 0xffffffff
push 0x200
call fcn.0041a3d0
add esp, 4
mov dword [0x42c328], eax
mov eax, dword [0x42c328]
mov byte [eax], 0
mov dword [0x42c0f4], 0
push 0
mov eax, dword [0x42c328]
push eax
mov eax, dword [0x42b470]
push eax
call fcn.0041eba2
add esp, 0xc
push str.ARJTEMP.__02d
mov eax, dword [0x42c328]
push eax
call sub.MSVCRT20.dll_strcat
add esp, 8
mov eax, dword [0x42c328]
push eax
call fcn.004169a2
add esp, 4
mov eax, dword [0x42c328]
push eax
mov eax, dword [0x42b470]
push eax
call dword [sym.imp.MSVCRT20.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4038ee
mov eax, dword [0x42c328]
push eax
mov eax, dword [0x42b470]
push eax
push 0x42f9c8
call fcn.004081d7
add esp, 0xc
mov eax, dword [0x42c328]
push eax
call fcn.00420ee0
add esp, 4
mov dword [section..bss], 1
mov eax, dword [0x42c328]
push eax
mov eax, dword [0x42b470]
push eax
call fcn.004185a2
add esp, 8
push 1
call fcn.004212c8
add esp, 4
call fcn.00402858
mov eax, dword [0x42b5e0]
push eax
call fcn.004212c8
add esp, 4
cmp dword [ebp - 0x50], 0x4f
je 0x403975
mov eax, dword [0x42b474]
push eax
mov eax, dword [0x42c194]
push eax
call fcn.00420199
add esp, 8
test eax, eax
je 0x403969
mov dword [ebp - 0x18], 1
jmp 0x403970
mov dword [ebp - 0x18], 0
jmp 0x40397c
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 8], eax
push 0x69
mov eax, dword [0x42c3a8]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4039b9
inc dword [ebp - 0x1c]
push 0xa
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.MSVCRT20.dll_strtol]
add esp, 0xc
mov dword [ebp - 8], eax
push 0x71
mov eax, dword [0x42c3a8]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
test eax, eax
je 0x4039d9
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 8]
push eax
push 0x42c1c0
call fcn.00419f50
add esp, 0xc
push 0
push 0xfffe
push 0x42cbe0
call fcn.00419f50
add esp, 0xc
cmp dword [ebp - 0x38], 0
je 0x403a22
mov dword [0x42b84c], 1
mov dword [ebp - 0x24], 1
jmp 0x403a29
mov dword [ebp - 0x24], 0
push 0x200
call fcn.0041a3d0
add esp, 4
mov dword [ebp - 0x44], eax
mov eax, dword [0x42b00c]
mov dword [ebp - 0x48], eax
jmp 0x403a49
inc dword [ebp - 0x48]
mov eax, dword [0x42b474]
cmp dword [ebp - 0x48], eax
jge 0x403d9e
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x42c194]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1c], eax
cmp dword [0x42cc90], 0
je 0x403caf
mov eax, dword [ebp - 0x1c]
movsx eax, byte [eax]
movsx ecx, byte [0x42c1d4]
cmp eax, ecx
jne 0x403caf
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
movsx eax, byte [eax]
test eax, eax
jne 0x403ab3
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x42c194]
mov eax, dword [ecx + eax*4]
push eax
push 0x42f300
call fcn.004081d7
add esp, 8
mov dword [ebp - 0x14], 0
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.0041eba2
add esp, 0xc
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x50], 0x4f
jne 0x403afb
push str.arjsort.___
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.MSVCRT20.dll__stricmp]
add esp, 8
test eax, eax
jne 0x403afb
mov dword [ebp - 0x14], 1
push 0x42f090
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00416476
add esp, 8
mov dword [ebp - 0x20], eax
mov eax, dword [0x42c0d4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x42b450]
mov dword [ecx + eax*4], 1
mov eax, dword [ebp - 0x20]
push eax
push 0x200
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCRT20.dll_fgets]
add esp, 0xc
test eax, eax
je 0x403c9d
cmp dword [ebp - 0x14], 0
je 0x403b92
mov eax, dword [ebp - 0x2c]
push eax
call sub.MSVCRT20.dll_strlen
add esp, 4
cmp eax, 0x79
ja 0x403b6f
mov eax, dword [ebp - 0x2c]
mov byte [eax], 0
jmp 0x403b92
mov eax, dword [ebp - 0x2c]
movsx eax, byte [eax + 0x78]
cmp eax, 0x20
jne 0x403b92
mov eax, dword [ebp - 0x2c]
add eax, 0x79
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.MSVCRT20.dll_strcpy
add esp, 8
cmp dword [ebp - 0x50], 0x4f
jne 0x403bc3
push 0x42f020
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCRT20.dll_strpbrk]
add esp, 8
test eax, eax
je 0x403bc3
push 0x430b18
call fcn.004081d7
add esp, 4
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00401e32
add esp, 4
mov eax, dword [ebp - 0x2c]
movsx eax, byte [eax]
test eax, eax
je 0x403c98
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
cmp dword [ebp - 0x38], 0
je 0x403bff
mov eax, dword [0x42b408]
push eax
mov eax, dword [ebp - 0x44]
push eax
call sub.MSVCRT20.dll_strcat
add esp, 8
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x44]
push eax
call sub.MSVCRT20.dll_strcat
add esp, 8
mov dword [ebp - 4], 0
lea eax, [ebp - 4]
push eax
mov eax, dword [0x42b844]
push eax
mov eax, dword [0x42b418]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x44]
push eax
push 0x42b160
push 0x42c1c0
call fcn.0041a03d
add esp, 0x1c
test eax, eax
je 0x403c55
mov eax, dword [0x42b474]
mov dword [ebp - 0x48], eax
jmp 0x403c9d
cmp dword [0x42c16c], 0
je 0x403c98
cmp dword [ebp - 4], 0
je 0x403c98
push 0
push 0
mov eax, dword [ebp - 0x44]
push eax
push 0
push 0x42cbe0
call fcn.00419e64
add esp, 0x14
test eax, eax
je 0x403c98
mov eax, dword [0x42b474]
mov dword [ebp - 0x48], eax
jmp 0x403c9d
jmp 0x403b27
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.MSVCRT20.dll_fclose]
add esp, 4
jmp 0x403d99
cmp dword [ebp - 0x50], 0x4f
jne 0x403ce9
push 0x42f020
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x42c194]
mov eax, dword [ecx + eax*4]
push eax
call dword [sym.imp.MSVCRT20.dll_strpbrk]
add esp, 8
test eax, eax
je 0x403ce9
push 0x430b18
call fcn.004081d7
add esp, 4
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
cmp dword [ebp - 0x38], 0
je 0x403d0b
mov eax, dword [0x42b408]
push eax
mov eax, dword [ebp - 0x44]
push eax
call sub.MSVCRT20.dll_strcat
add esp, 8
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x42c194]
mov eax, dword [ecx + eax*4]
push eax
mov eax, dword [ebp - 0x44]
push eax
call sub.MSVCRT20.dll_strcat
add esp, 8
mov dword [ebp - 4], 0
lea eax, [ebp - 4]
push eax
mov eax, dword [0x42b844]
push eax
mov eax, dword [0x42b418]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x44]
push eax
push 0x42b160
push 0x42c1c0
call fcn.0041a03d
add esp, 0x1c
test eax, eax
je 0x403d8a
push 0x69
mov eax, dword [0x42c3a8]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
test eax, eax
je 0x403d85
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x48]
mov edx, dword [0x42b450]
mov dword [edx + ecx*4], eax
jmp 0x403d9e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x48]
mov edx, dword [0x42b450]
mov dword [edx + ecx*4], eax
jmp 0x403a46
cmp dword [section..bss], 0
je 0x403dd1
mov eax, dword [0x42b470]
push eax
mov eax, dword [0x42c328]
push eax
call fcn.004185a2
add esp, 8
mov eax, dword [0x42c328]
mov byte [eax], 0
mov dword [section..bss], 0
cmp dword [0x42b484], 0
je 0x403e73
push 0x42f094
mov eax, dword [0x42c0fc]
push eax
call fcn.00416513
add esp, 8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x34], 0
jmp 0x403e03
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp dword [0x42c1c8], eax
jbe 0x403e66
mov eax, dword [ebp - 0x34]
push eax
push 0x42c1c0
push 0
mov eax, dword [ebp - 0x44]
push eax
call fcn.00419f6f
add esp, 0x10
push 0x4326d0
mov eax, dword [ebp - 0x44]
push eax
call sub.MSVCRT20.dll_strcat
add esp, 8
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.MSVCRT20.dll_fputs]
add esp, 8
cmp eax, 0xffffffff
jne 0x403e61
push 0x42fa18
call fcn.004081d7
add esp, 4
jmp 0x403e00
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.MSVCRT20.dll_fclose]
add esp, 4
mov eax, dword [0x42c1c8]
inc eax
push eax
call fcn.0041a372
add esp, 4
cmp dword [0x42c0b8], 0
je 0x403ea3
mov eax, dword [0x42c0d4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0041b177
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.MSVCRT20.dll_free]
add esp, 4
cmp dword [0x42b498], 0
je 0x403efd
push 0x42f0ac
mov eax, dword [0x42b45c]
push eax
call fcn.0042045e
add esp, 8
mov dword [0x42cc74], eax
push 0x4305a8
mov eax, dword [0x42cc74]
push eax
call fcn.00408361
add esp, 8
test eax, eax
jge 0x403efd
push 0x42fa18
call fcn.004081d7
add esp, 4
cmp dword [ebp - 0x50], 0x4f
jne 0x403f5e
mov dword [0x42b60c], 1
mov eax, dword [0x42c1c8]
lea eax, [eax*4 + 4]
push eax
call fcn.0041a40d
add esp, 4
mov dword [0x42cc68], eax
mov dword [ebp - 0x34], 0
jmp 0x403f3a
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp dword [0x42c1c8], eax
jbe 0x403f5e
mov eax, dword [ebp - 0x34]
mov ecx, dword [0x42cc68]
mov dword [ecx + eax*4], 0
jmp 0x403f37
mov eax, str.aRj_sOfTwArE
add eax, 0x14
push eax
push 0x42f058
push 0x42f058
push 0x42f058
call fcn.00404150
add esp, 0x10
test eax, eax
jne 0x403f90
mov dword [0x42b00c], 0x14
push 0
push 0x7cfffffb
push 0x42b4f0
call fcn.00419f50
add esp, 0xc
cmp dword [ebp - 0x38], 0
je 0x403fba
mov dword [ebp - 0x60], 0
jmp 0x403fc2
mov eax, dword [0x42b418]
mov dword [ebp - 0x60], eax
push 0
mov eax, dword [0x42b844]
push eax
mov eax, dword [ebp - 0x60]
push eax
cmp dword [ebp - 0x38], 1
sbb eax, eax
neg eax
push eax
mov eax, dword [0x42b470]
push eax
push 0
push 0x42b4f0
call fcn.0041a03d
add esp, 0x1c
cmp dword [0x42b4f8], 0
jne 0x40401e
mov eax, dword [0x42b470]
push eax
push 0x430a10
push 0x44
call fcn.004093aa
add esp, 0xc
mov dword [0x42b454], 6
inc dword [0x42cc98]
cmp dword [0x42c144], 0
je 0x40405f
push 0x74
mov eax, dword [0x42c3a8]
push eax
call dword [sym.imp.MSVCRT20.dll_strchr]
add esp, 8
test eax, eax
je 0x40405f
call fcn.00420644
sub eax, dword [0x42b008]
push eax
push 0x42ffc8
push 0x22
call fcn.004093aa
add esp, 0xc
push 0xffffffffffffffff
call fcn.004242d0
add esp, 4
cmp dword [0x42c1ec], 3
jne 0x404080
mov eax, dword [0x42b840]
mov dword [0x42c1a0], eax
mov eax, dword [0x42b00c]
mov dword [ebp - 0x34], eax
jmp 0x404090
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp dword [0x42b4f8], eax
jbe 0x4040f5
cmp dword [0x42c1ec], 3
jne 0x4040b6
mov eax, dword [0x42b840]
mov dword [0x42c1a0], eax
mov eax, dword [ebp - 0x34]
push eax
push 0x42b4f0
push 0
mov eax, dword [0x42b470]
push eax
call fcn.00419f6f
add esp, 0x10
mov eax, dword [ebp - 0x50]
push eax
call fcn.0040e5b6
add esp, 4
mov eax, dword [ebp - 0x34]
inc eax
cmp dword [0x42b4f8], eax
jbe 0x4040f0
call fcn.004173be
jmp 0x40408d
push 0x42cbe0
call section..text
add esp, 4
call dword [sym.imp.MSVCRT20.dll__errno]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
cmp dword [0x42cc98], 0
jbe 0x404134
mov eax, dword [0x42cc98]
push eax
push 0x4300c8
call fcn.004081d7
add esp, 8
mov eax, dword [0x42b454]
jmp 0x40413e
pop edi
pop esi
pop ebx
leave
ret