Function at 0x41857c
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x41b6b4
call fcn.004190e0
sub esp, 0x178
push ebx
push esi
push edi
xor ebx, ebx
push 3
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call fcn.004027af
push 3
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], ebx
mov byte [ebp - 0xd], bl
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
call fcn.004027af
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.0040271e
mov esi, 0x41c6c4
mov dword [ebp - 0x4c], esi
mov byte [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x70]
call fcn.004023d7
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00410251
push dword [ebp - 0x70]
mov byte [ebp - 4], 2
call fcn.00410831
pop ecx
push 1
pop eax
cmp dword [ebp - 0x44], eax
mov dword [ebp - 0x14], eax
jle 0x418722
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
push 0x4226ec
mov edi, dword [eax + ecx*4]
push dword [edi]
call fcn.0041060b
cmp eax, ebx
jne 0x418639
mov byte [ebp - 0xd], 1
jmp 0x418713
lea eax, [ebp - 0x70]
push 2
push eax
mov ecx, edi
call fcn.0040af53
push 0x4226e4
mov byte [ebp - 4], 4
push dword [eax]
call fcn.0041060b
push dword [ebp - 0x70]
cmp eax, ebx
sete byte [ebp - 0xe]
mov byte [ebp - 4], 2
call fcn.00410831
cmp byte [ebp - 0xe], bl
pop ecx
push 2
je 0x4186ad
lea eax, [ebp - 0xc4]
mov ecx, edi
push eax
call fcn.0040bcfb
push eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.0040b311
push dword [ebp - 0xc4]
mov byte [ebp - 4], 2
call fcn.00410831
pop ecx
lea eax, [ebp - 0x58]
push eax
call fcn.0040f670
cmp dword [ebp - 0x54], ebx
setne byte [ebp - 0x15]
jmp 0x418713
lea eax, [ebp - 0xd0]
mov ecx, edi
push eax
call fcn.0040af53
push 0x4226dc
mov byte [ebp - 4], 6
push dword [eax]
call fcn.0041060b
push dword [ebp - 0xd0]
cmp eax, ebx
sete byte [ebp - 0xe]
mov byte [ebp - 4], 2
call fcn.00410831
cmp byte [ebp - 0xe], bl
pop ecx
je 0x418713
lea eax, [ebp - 0xa8]
push 2
push eax
mov ecx, edi
call fcn.0040bcfb
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 7
call fcn.0040b311
push dword [ebp - 0xa8]
mov byte [ebp - 4], 2
call fcn.00410831
pop ecx
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x44]
jl 0x418617
push 3
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call fcn.004027af
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 8
push eax
push dword [0x424a18]
call fcn.0040e4b0
push 3
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
call fcn.004027af
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x38]
call fcn.0040ec3b
test al, al
jne 0x4187b6
push 0x4226c4
push ebx
call fcn.00415d8a
push dword [ebp - 0x2c]
call fcn.00410831
push dword [ebp - 0x38]
call fcn.00410831
pop ecx
mov dword [ebp - 0x4c], esi
pop ecx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4c]
call fcn.00410682
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00410659
push 1
pop ebx
jmp 0x418c63
push 0x1c
call fcn.0041080a
mov edi, eax
pop ecx
mov dword [ebp - 0x14], edi
cmp edi, ebx
mov byte [ebp - 4], 0xb
je 0x4187e1
lea ecx, [edi + 8]
mov dword [edi + 4], ebx
call fcn.0041900a
mov dword [edi], 0x41ccb0
mov dword [ebp - 0x14], edi
jmp 0x4187e6
mov dword [ebp - 0x14], ebx
mov edi, ebx
cmp edi, ebx
mov byte [ebp - 4], 9
mov dword [ebp - 0xb8], edi
je 0x4187fa
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0041448a
cmp eax, ebx
je 0x41883b
push eax
call fcn.004184e7
cmp edi, ebx
mov byte [ebp - 4], 9
je 0x41881d
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x2c]
call fcn.00410831
push dword [ebp - 0x38]
call fcn.00410831
pop ecx
mov dword [ebp - 0x4c], esi
pop ecx
mov byte [ebp - 4], 0xd
jmp 0x41879a
push 0xe0
call fcn.0041080a
pop ecx
mov dword [ebp - 0xb4], eax
cmp eax, ebx
mov byte [ebp - 4], 0xe
je 0x41885f
mov ecx, eax
call fcn.00418dbe
mov edi, eax
jmp 0x418861
xor edi, edi
cmp edi, ebx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x1c], edi
je 0x418872
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.0040d277
cmp dword [ebp - 0x60], ebx
lea ecx, [edi + 0xd0]
setne al
mov byte [edi + 0xcc], al
lea eax, [ebp - 0x64]
push eax
call fcn.0040b311
lea ecx, [ebp - 0x138]
call fcn.00418d59
cmp byte [ebp - 0x15], bl
mov byte [ebp - 4], 0x10
je 0x4188b1
lea eax, [ebp - 0x58]
jmp 0x4188d1
push dword [ebp - 0x9c]
lea eax, [ebp - 0xa8]
lea ecx, [ebp - 0x2c]
push eax
call fcn.0040af53
mov dword [ebp - 0x20], 1
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x130]
call fcn.0040b311
test byte [ebp - 0x20], 1
mov dword [ebp - 4], 0x10
je 0x4188f6
push dword [ebp - 0xa8]
call fcn.00410831
pop ecx
mov al, byte [ebp - 0xd]
xor ecx, ecx
cmp al, bl
mov byte [ebp - 0x124], al
setne cl
mov dword [ebp - 0xd8], ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x134], ebx
mov byte [ebp - 0x137], bl
call fcn.0040271e
mov dword [ebp - 0x98], esi
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x12
call fcn.0040271e
mov dword [ebp - 0x84], esi
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x13
call fcn.0040ddf1
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x84]
push eax
call fcn.0040ddf1
lea ecx, [ebp - 0x184]
call fcn.00411135
push 0x4224e4
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x14
call fcn.004023d7
push 1
lea ecx, [ebp - 0x70]
pop eax
mov byte [ebp - 4], 0x15
push eax
push eax
push eax
push ecx
push eax
lea ecx, [ebp - 0x184]
call fcn.00410eb6
push dword [ebp - 0x70]
mov byte [ebp - 4], 0x14
call fcn.00410831
pop ecx
push 4
lea ecx, [ebp - 0xb0]
call fcn.00401c79
mov dword [ebp - 0xb0], 0x41c36c
cmp byte [ebp - 0xd], bl
push edi
mov byte [ebp - 4], 0x16
sete al
push eax
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xb0]
push eax
push dword [ebp - 0x14]
call fcn.004158da
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x14
call fcn.00410659
mov eax, dword [ebp - 0x20]
cmp eax, ebx
jne 0x418b6e
cmp dword [edi + 0xb0], ebx
jg 0x418ab2
cmp dword [edi + 0xc4], ebx
jne 0x418ab2
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x13
call fcn.00410e23
mov dword [ebp - 0x84], esi
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x1a
call fcn.00410682
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x12
call fcn.00410659
mov dword [ebp - 0x98], esi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x1b
call fcn.00410682
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x10
call fcn.00410659
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0xf
call fcn.00413dbf
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call fcn.0040ffda
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x418c45
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x418c45
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x13
call fcn.00410e23
mov dword [ebp - 0x84], esi
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x17
call fcn.00410682
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x12
call fcn.00410659
mov dword [ebp - 0x98], esi
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x18
call fcn.00410682
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x10
call fcn.00410659
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0xf
call fcn.00413dbf
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0xc
cmp eax, ebx
je 0x418b29
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x418b3a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x2c]
call fcn.00410831
push dword [ebp - 0x38]
call fcn.00410831
pop ecx
mov dword [ebp - 0x4c], esi
pop ecx
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x19
call fcn.00410682
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00410659
push 2
jmp 0x4187b0
cmp eax, 0x80004004
jne 0x418bd5
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x13
call fcn.00410e23
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x12
call fcn.0040ddb9
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x10
call fcn.0040ddb9
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0xf
call fcn.00413dbf
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call fcn.0040ffda
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x418bce
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, 0xff
jmp 0x418c45
cmp eax, 1
jne 0x418c86
push 0x4226b0
push ebx
call fcn.00415d8a
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x13
call fcn.00410e23
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x12
call fcn.0040ddb9
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x10
call fcn.0040ddb9
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0xf
call fcn.00413dbf
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call fcn.0040ffda
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x418c42
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 2
pop ebx
push dword [ebp - 0x2c]
call fcn.00410831
push dword [ebp - 0x38]
call fcn.00410831
pop ecx
mov byte [ebp - 4], 1
pop ecx
lea ecx, [ebp - 0x4c]
call fcn.0040ddb9
push dword [ebp - 0x58]
call fcn.00410831
push dword [ebp - 0x64]
call fcn.00410831
pop ecx
mov eax, ebx
pop ecx
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
push eax
call fcn.004184e7
cmp dword [ebp - 0x20], 0x8007000e
jne 0x418be9
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x13
call fcn.00410e23
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x12
call fcn.0040ddb9
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x10
call fcn.0040ddb9
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0xf
call fcn.00413dbf
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call fcn.0040ffda
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x418cf2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 8
jmp 0x418c44