Function at 0x10034670
Capabilities:
Accept command line arguments

Disassembly:
adc ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
sub esp, 0x51c
cmp eax, 0x7e7
push ebx
push ebp
push esi
push edi
jg 0x10034a62
je 0x100349ab
cmp eax, 0x7d2
jg 0x100348a4
je 0x10034864
cmp eax, 0x3ee
jg 0x10034805
je 0x100346e2
mov ecx, eax
sub ecx, 0x3ec
je 0x100346d0
dec ecx
jne case.0x10034a71.2029
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x51c
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x51c
ret 0xc
push 0x104
push 0x10040058
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x10034730
push 0x5c
push 0x10040058
call sub.MSVCRT.dll_strrchr
add esp, 8
inc eax
or ecx, 0xffffffff
mov byte [eax], 0
lea edi, [eax + 1]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x1003ff54
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x1003473e
mov byte [0x10040058], 0
mov byte [0x1003ff54], 0
mov eax, dword [esp + 0x534]
dec eax
je 0x100347cc
sub eax, 0x7d0
je 0x10034793
dec eax
jne case.0x10034a71.2032
mov edi, 0x1003ff54
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, 0x1003ff54
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x538]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
mov edi, 0x10040058
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x538]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, 0x10040058
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
mov edi, 0x10040058
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, 0x10040058
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x538]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
cmp eax, 0x7d1
jne case.0x10034a71.2029
mov ecx, dword [esp + 0x534]
mov edx, dword [ecx + 8]
mov eax, dword [ecx]
cmp edx, 0x80000401
je 0x10034b82
cmp edx, 0x80000501
je 0x10034850
cmp edx, 0x80000601
jne 0x10034b82
fld qword [ecx]
call sub.MSVCRT.dll__ftol
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
fld dword [ecx]
call sub.MSVCRT.dll__ftol
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dl, byte [eax]
inc eax
cmp dl, 0x22
mov cl, 0x20
jne 0x10034876
mov cl, dl
mov dl, byte [eax]
inc eax
cmp dl, cl
je 0x10034884
mov dl, byte [eax]
inc eax
cmp dl, cl
jne 0x1003487d
cmp cl, 0x20
je 0x10034b82
cmp byte [eax], 0x20
jne 0x10034b82
pop edi
pop esi
pop ebp
inc eax
pop ebx
add esp, 0x51c
ret 0xc
mov ecx, eax
sub ecx, 0x7d3
je 0x1003496d
dec ecx
je 0x10034933
sub ecx, 0xe
jne case.0x10034a71.2029
mov ebp, dword [sym.imp.USER32.dll_PeekMessageA]
push 0
push 0
push 0
lea eax, [esp + 0x1c]
push 0
push eax
call ebp
test eax, eax
je case.0x10034a71.2032
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
mov edi, dword [0x1003a184]
mov ebx, dword [0x1003a180]
cmp dword [esp + 0x14], 0x12
je case.0x10034a71.2032
push 0
push 0
lea ecx, [esp + 0x18]
push 0
push ecx
call esi
lea edx, [esp + 0x10]
push edx
call edi
lea eax, [esp + 0x10]
push eax
call ebx
push 0
push 0
push 0
lea ecx, [esp + 0x1c]
push 0
push ecx
call ebp
test eax, eax
jne 0x100348ed
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
push 0x104
push 0x10040058
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je case.0x10034a71.2032
push 0x5c
push 0x10040058
call sub.MSVCRT.dll_strrchr
add esp, 8
mov byte [eax], 0
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
push 0x104
push 0x10040058
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je case.0x10034a71.2032
push 0x5c
push 0x10040058
call sub.MSVCRT.dll_strrchr
add esp, 8
mov byte [eax], 0
mov eax, 0x10040058
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
mov eax, dword [esp + 0x534]
cmp eax, 0x80000201
ja 0x10034a12
je case.0x100349d6.2147483646
cmp eax, reloc.WS2_32.dll_getsockname
ja 0x100349fc
je case.0x100349d6.2147483646
add eax, 0x7ffffffe
cmp eax, 3
ja case.0x10034a71.2032
jmp dword [eax*4 + 0x10034b90]
mov edx, dword [esp + 0x538]
push edx
call fcn.10036170
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
cmp eax, 0x80000101
je case.0x100349d6.2147483646
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x51c
ret 0xc
cmp eax, 0x80000501
ja 0x10034a38
je case.0x100349d6.2147483646
cmp eax, 0x80000301
je case.0x100349d6.2147483646
cmp eax, 0x80000401
je case.0x100349d6.2147483646
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x51c
ret 0xc
cmp eax, 0x80000601
jne case.0x10034a71.2032
mov eax, dword [esp + 0x538]
push eax
call fcn.10031930
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
lea ecx, [eax - 0x7e8]
cmp ecx, 9
ja case.0x10034a71.2029
jmp dword [ecx*4 + 0x10034ba0]
mov ecx, dword [esp + 0x534]
push ecx
call fcn.10031820
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
mov edx, dword [esp + 0x534]
push edx
call fcn.10031930
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
mov eax, dword [esp + 0x538]
mov ecx, dword [esp + 0x534]
push eax
push ecx
call fcn.100318c0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
mov edx, dword [esp + 0x534]
lea eax, [esp + 0x12c]
push edx
push str.BlackMoon_RunTime_Error:_r_n_r_n_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x12c]
push 0x10
push str.ERROR
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call fcn.10031700
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
mov edx, dword [esp + 0x534]
push edx
call fcn.10031700
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x51c
ret 0xc
push eax
lea eax, [esp + 0x30]
push 0x1003e030
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [esp + 0x2c]
push 0x10
push str.blackmoon
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x51c
ret 0xc