Function at 0x43c860
Capabilities:
Accept command line arguments

Disassembly:
push ebp
sub esp, 0x70
lea ebp, [esp - 4]
mov eax, dword [0x462044]
xor eax, ebp
mov dword [ebp + 0x70], eax
push 0xa0
mov eax, 0x45068f
call fcn.0043d4af
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push str.comctl32.dll
xor esi, esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
je 0x43c8dd
push str.DllGetVersion
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
test ecx, ecx
je 0x43c8d6
xor eax, eax
lea edi, [ebp + 0x5c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp + 0x5c]
push eax
mov dword [ebp + 0x5c], 0x14
call ecx
test eax, eax
js 0x43c8d6
movzx esi, word [ebp + 0x60]
movzx eax, word [ebp + 0x64]
shl esi, 0x10
or esi, eax
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp esi, 0x40047
mov dword [0x465d3c], esi
lea ecx, [ebp - 0x24]
sbb al, al
inc al
mov byte [0x46203d], al
call fcn.0040c03a
xor ebx, ebx
lea ecx, [ebp + 0x18]
mov dword [ebp - 4], ebx
mov byte [ebp + 0x5b], bl
mov byte [ebp + 0x5a], bl
call fcn.0040c03a
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x50], ebx
mov byte [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp + 0x3c]
call fcn.0040c118
lea eax, [ebp + 0x48]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.0040a577
push dword [ebp + 0x3c]
mov byte [ebp - 4], 2
call fcn.0043d465
pop ecx
cmp dword [ebp + 0x4c], ebx
jbe 0x43c955
push ebx
lea ecx, [ebp + 0x48]
call fcn.0040dff7
mov esi, ebx
xor ebx, ebx
inc ebx
cmp dword [ebp + 0x4c], esi
jbe 0x43c9de
mov eax, dword [ebp + 0x48]
mov edi, dword [eax + esi*4]
mov eax, dword [edi + 4]
mov dword [ebp + 0x54], eax
cmp eax, ebx
jbe 0x43c9d8
mov edi, dword [edi]
cmp word [edi], 0x2d
jne 0x43c9d8
movzx eax, word [edi + 2]
push eax
call fcn.0040cdeb
movzx eax, ax
cmp eax, 0x79
jne 0x43c9a3
cmp dword [ebp + 0x54], 2
mov byte [ebp + 0x5b], bl
je 0x43c9d8
push str.Bad_command
push 0
call fcn.00428d34
jmp 0x43cc96
cmp eax, 0x6f
jne 0x43c9c7
lea eax, [edi + 4]
push eax
lea ecx, [ebp + 0x18]
call fcn.0040c1b9
lea eax, [ebp + 0x18]
push eax
call fcn.00411bb5
cmp dword [ebp + 0x1c], 0
setne byte [ebp + 0x5a]
jmp 0x43c9d8
cmp eax, 0x70
jne 0x43c9d8
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x24]
call fcn.0040c1b9
inc esi
cmp esi, dword [ebp + 0x4c]
jb 0x43c95f
lea ecx, [ebp - 0x18]
call fcn.0040c03a
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 4
push eax
call fcn.0040f786
lea ecx, [ebp]
call fcn.0040c03a
lea eax, [ebp]
mov byte [ebp - 4], 5
push eax
push dword [ebp - 0x18]
call fcn.004100d8
test al, al
jne 0x43ca20
push str.Error_1329484
push 0
call fcn.00428d34
jmp 0x43cc84
push 0x18
call fcn.0043d41b
mov esi, eax
mov dword [ebp + 0x54], esi
pop ecx
test esi, esi
je 0x43ca4b
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi], vtable.CCodecs.0
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov word [esi + 0x14], ax
jmp 0x43ca4d
xor esi, esi
mov dword [ebp - 0x34], esi
test esi, esi
je 0x43ca5a
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.004265d1
test eax, eax
je 0x43ca74
push eax
call fcn.00432e4a
jmp 0x43cc76
push 0xa4
call fcn.0043d41b
pop ecx
mov dword [ebp + 0x54], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x43ca95
mov ecx, eax
call fcn.0042fb91
mov edi, eax
jmp 0x43ca97
xor edi, edi
mov byte [ebp - 4], 6
mov dword [ebp - 0x38], edi
test edi, edi
je 0x43caa8
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.0042b2fd
cmp dword [ebp - 0x20], 0
lea ecx, [edi + 0x58]
setne al
mov byte [edi + 0x54], al
lea eax, [ebp - 0x24]
push eax
call fcn.0040c216
lea ecx, [ebp - 0x78]
call fcn.0042fc58
xor eax, eax
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call fcn.0040c03a
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xb
push eax
push dword [ebp - 0x18]
call fcn.00410134
test al, al
jne 0x43cb07
push str.Error_1329485
push 0
call fcn.00428d34
jmp 0x43cc51
cmp byte [ebp + 0x5a], 0
lea ecx, [ebp - 0x30]
lea eax, [ebp + 0x18]
cmove eax, ecx
lea ecx, [ebp - 0x64]
push eax
call fcn.0040c216
mov cl, byte [ebp + 0x5b]
xor eax, eax
test cl, cl
mov byte [ebp - 0x3a], cl
setne al
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x70], eax
mov byte [ebp - 0x39], al
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], eax
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 0xf
call fcn.0040aae3
lea eax, [ebp]
push eax
lea ecx, [ebp + 0x24]
call fcn.0040aa20
lea ecx, [ebp + 0x30]
call fcn.0040aae3
lea eax, [ebp]
push eax
lea ecx, [ebp + 0x30]
call fcn.0040aa20
lea ecx, [ebp - 0xac]
call fcn.0040dbbd
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x10
call fcn.0042fd70
xor eax, eax
mov byte [ebp + 0x59], al
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x44], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], eax
cmp byte [ebp + 0x5b], 0
push eax
push edi
lea eax, [ebp + 0x59]
mov byte [ebp - 4], 0x12
push eax
sete al
movzx eax, al
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0xc]
push eax
push esi
call fcn.0042f257
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x54], eax
call fcn.004258dd
push dword [ebp + 0x3c]
mov byte [ebp - 4], 0x10
call fcn.0043d465
mov eax, dword [ebp + 0x54]
pop ecx
test eax, eax
jne 0x43cc07
cmp dword [edi + 0x48], eax
jne 0x43cc33
cmp byte [edi + 0x4c], al
jne 0x43cc33
xor ebx, ebx
jmp 0x43cc36
cmp eax, 0x80004004
jne 0x43cc15
mov ebx, 0xff
jmp 0x43cc36
cmp byte [ebp + 0x59], 0
jne 0x43ccd8
cmp eax, ebx
jne 0x43cccf
push str.Error_in_archive
push 0
call fcn.00428d34
push 2
pop ebx
lea ecx, [ebp - 0xac]
call fcn.0040dcc1
lea ecx, [ebp + 0x30]
call fcn.0040e93e
lea ecx, [ebp + 0x24]
call fcn.0040e93e
push dword [ebp - 0x30]
call fcn.0043d465
push dword [ebp - 0x48]
call fcn.0043d465
push dword [ebp - 0x64]
call fcn.0043d465
add esp, 0xc
mov eax, dword [edi]
push edi
mov byte [ebp - 4], 0x1b
call dword [eax + 8]
mov byte [ebp - 4], 0x1c
test esi, esi
je 0x43cc84
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp]
call fcn.0043d465
push dword [ebp - 0x18]
call fcn.0043d465
pop ecx
pop ecx
lea ecx, [ebp + 0x48]
call fcn.0040e93e
push dword [ebp + 0x18]
call fcn.0043d465
push dword [ebp - 0x24]
call fcn.0043d465
pop ecx
pop ecx
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x70]
xor ecx, ebp
call fcn.0043d1f0
lea esp, [ebp + 0x74]
pop ebp
ret
push eax
call fcn.00432e4a
mov eax, dword [ebp + 0x54]
cmp eax, 0x8007000e
jne 0x43cc33
push 8
jmp 0x43cc35