Function at 0x4246e1
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
mov edi, dword [esp + 0xfc]
mov edx, dword [ecx + 0x14]
cmp edx, dword [ecx + 0x18]
je 0x4247d3
lea eax, [edx + 0x34]
lea ebx, [esp + 0xb4]
mov dword [ecx + 0x14], eax
mov ecx, ebx
call fcn.00423b6f
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx]
mov ebp, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov esi, dword [ebx + 0x14]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x24], ecx
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x20], ecx
mov edx, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x74], ecx
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
movzx ebx, byte [ebx + 0x30]
mov dword [esp + 0x28], edx
mov dword [esp + 8], ecx
lea ecx, [esp + 0x14]
mov edx, str._________Argument_to_option__missing
push 4
call fcn.0041afd7
pop eax
mov ecx, ebp
mov edx, edi
mov dword [esp + 0x3c], ebp
call fcn.00423bb9
test eax, eax
je 0x4247de
cmp eax, 1
jne 0x424ebf
mov ebp, ebx
lea ebx, [esp + 0x14]
push 0x2d
pop edx
mov ecx, ebx
call fcn.00423646
mov edx, dword [esp + 0x3c]
mov ecx, ebx
add edi, edx
push edi
call fcn.0041ac12
pop eax
mov ebx, dword [esp + 0x24]
mov edx, esi
mov ecx, ebx
call fcn.00423bb9
test eax, eax
je 0x424809
lea eax, [0x48107a]
lea ecx, [esp + 0x14]
mov edx, 0x481078
jmp 0x424800
mov dword [edi], 0x80000000
jmp 0x424eb2
mov eax, dword [esp + 0x100]
mov ebp, ebx
mov ebx, dword [esp + 0x24]
cmp byte [eax + 0x10], 0
je 0x424815
lea eax, [0x481078]
lea ecx, [esp + 0x14]
mov edx, str._________Argument_to_option__missing
push eax
call fcn.0041ac12
pop eax
jmp 0x424815
lea ecx, [esp + 0x14]
push 0x20
pop edx
call fcn.00423646
mov ecx, ebx
mov edx, esi
call fcn.00423bb9
test eax, eax
je 0x42486a
mov eax, dword [esp + 0x100]
mov edx, 0x48107c
lea edi, [esp + 0x14]
mov ecx, dword [eax + 0xc]
xor eax, eax
cmp byte [ecx + 0xd], 0
mov ecx, 0x48107a
cmove edx, ecx
sete al
mov ecx, edi
lea eax, [eax + edx + 1]
push eax
call fcn.0041ac12
pop eax
add esi, ebx
mov ecx, edi
mov edx, ebx
push esi
call fcn.0041ac12
pop eax
push 0x20
pop edx
mov ecx, edi
call fcn.00423646
test ebp, ebp
je 0x4248a0
cmp ebp, 1
je 0x4248b5
lea esi, [esp + 0x14]
push 0x5b
pop edx
mov ecx, esi
call fcn.00423646
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov ecx, esi
add eax, edx
push eax
call fcn.0041ac12
pop eax
push 0x5d
pop edx
mov ecx, esi
call fcn.00423646
jmp 0x4248b5
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
add eax, edx
push eax
call fcn.0041ac12
pop eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
call fcn.00423bb9
cmp eax, 0x18
jae 0x4248e3
mov esi, eax
lea edi, [esp + 0x14]
add esi, 0xffffffe8
push 0x20
pop ebx
test esi, esi
je 0x4248fd
mov ecx, edi
mov edx, ebx
call fcn.00423646
inc esi
jmp 0x4248d3
mov eax, dword [esp + 0x100]
lea ecx, [esp + 0x14]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
add eax, edx
push eax
call fcn.0041ac12
pop eax
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 8]
lea ecx, [esp + 0xbc]
and dword [esp + 0x68], 0
mov dword [esp + 0x6c], 4
and dword [esp + 0x70], 0
lea ebp, [edi + eax]
mov dword [ecx - 8], edi
mov dword [ecx - 4], eax
mov dword [ecx], edi
mov dword [ecx + 4], ebp
and dword [ecx + 8], 0
lea ecx, [esp + 0xbc]
call fcn.0040fd6b
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
cmp eax, 0x110000
je 0x424982
add ebp, ecx
add edi, ebx
mov dword [esp + 4], ecx
mov ecx, eax
sub ebp, edi
mov edi, edx
mov esi, ebp
add esi, edx
mov dword [esp + 0xc4], esi
call fcn.00423755
test al, al
mov edx, edi
mov ebp, ebx
mov eax, esi
jne 0x424930
jmp 0x42498e
xor eax, eax
mov esi, ecx
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov esi, edx
mov edi, ebx
mov dword [esp], eax
cmp esi, edi
je 0x424a0e
movzx ecx, byte [edi - 1]
mov ebp, edi
test cl, cl
js 0x4249ac
lea edi, [ebp - 1]
jmp 0x4249f9
movzx eax, byte [ebp - 2]
cmp al, 0xc0
jge 0x4249d3
movzx edx, byte [ebp - 3]
cmp dl, 0xc0
jge 0x4249db
movzx edi, byte [ebp - 4]
lea ebx, [ebp - 4]
and edx, 0x3f
and edi, 7
shl edi, 6
or edx, edi
mov edi, ebx
jmp 0x4249e1
lea edi, [ebp - 2]
and eax, 0x1f
jmp 0x4249e9
lea edi, [ebp - 3]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or ecx, eax
cmp ecx, 0x110000
je 0x424a0e
call fcn.00423755
test al, al
jne 0x424999
mov eax, dword [esp + 8]
sub eax, esi
add eax, ebp
mov ebx, eax
jmp 0x424a11
mov ebx, dword [esp]
mov ecx, dword [esp + 4]
sub ebx, ecx
add ecx, dword [esp + 0x28]
push 0xa
pop eax
lea edx, [esp + 0xc8]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x2c], 0
mov dword [edx - 0x14], eax
mov dword [edx - 0x10], ecx
mov dword [edx - 0xc], ebx
and dword [edx - 8], 0
mov dword [edx - 4], ebx
mov dword [edx], eax
mov byte [edx + 4], 1
and dword [edx + 8], 0
mov dword [edx + 0xc], ebx
and word [edx + 0x10], 0
cmp byte [esp + 0x2c], 0
jne 0x424e04
mov esi, dword [esp]
mov ebx, dword [esp + 0xc]
cmp esi, esi
mov edi, esi
seta al
sub edi, ebx
setb cl
or cl, al
mov eax, dword [esp + 4]
test cl, cl
lea edx, [eax + ebx]
mov eax, 0
mov ecx, edx
cmovne ecx, eax
jne 0x424b4a
xor eax, eax
mov ebp, ebx
inc eax
cmp edi, 7
mov bl, byte [esp + eax + 0xc7]
ja 0x424ab8
xor eax, eax
xor edx, edx
cmp edi, edx
je 0x424acc
cmp byte [ecx + edx], bl
je 0x424ad1
inc edx
jmp 0x424aac
movzx ecx, bl
push edi
call fcn.0041bb70
pop ecx
mov esi, dword [esp]
mov edi, edx
xor edx, edx
inc edx
jmp 0x424adb
xor edx, edx
inc edx
jmp 0x424ad8
mov edi, edx
xor edx, edx
inc edx
mov eax, edx
mov esi, dword [esp]
mov ebx, ebp
cmp eax, 1
jne 0x424b50
lea ebx, [edi + ebx + 1]
mov ecx, ebx
mov dword [esp + 0xc0], ebx
sub ecx, edx
jb 0x424a70
cmp ebx, esi
ja 0x424a70
cmp dl, 5
jae 0x424ebf
add ecx, dword [esp + 4]
xor edx, edx
inc edx
xor eax, eax
inc eax
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.0041bb53
pop ecx
pop edx
test al, al
je 0x424a70
mov eax, ebx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 0x2c], 0
mov edi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0xd0], eax
jmp 0x424b82
mov dword [esp + 0xc], ebx
jmp 0x424b5b
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc], esi
mov byte [esp + 0xd9], 1
xor eax, eax
mov ebx, dword [esp + 0xd0]
test al, al
jne 0x424b79
cmp dword [esp], ebx
je 0x424e04
mov edi, dword [esp]
mov al, 1
mov dword [esp + 0x2c], eax
sub edi, ebx
add ebx, dword [esp + 4]
mov edx, edi
mov ecx, ebx
push 0xa
call fcn.004241b6
pop ecx
test eax, eax
je 0x424bb2
mov ebp, eax
mov esi, edx
mov ecx, eax
push 0xd
call fcn.004241b6
pop ecx
mov ebx, eax
test eax, eax
mov edi, edx
cmove ebx, ebp
cmove edi, esi
and dword [esp + 0x54], 0
mov dword [esp + 0x58], 4
and dword [esp + 0x5c], 0
and dword [esp + 0x60], 0
and dword [esp + 0x64], 0
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], edi
add edi, ebx
mov dword [esp + 0x40], ebx
lea esi, [esp + 0x9c]
mov dword [esp + 0x44], edi
lea edi, [esp + 0x54]
lea ecx, [esp + 0x40]
call fcn.0040fd6b
cmp eax, 0x110000
je 0x424c45
mov ecx, dword [esp + 0x64]
movsd xmm0, qword [esp + 0x54]
movsd xmm1, qword [esp + 0x5c]
lea edx, [esp + 0x94]
mov dword [esp + 0xac], ecx
movsd qword [esp + 0xa4], xmm1
movsd qword [esp + 0x9c], xmm0
mov dword [esp + 0xb0], eax
mov ecx, edi
push eax
push esi
call fcn.00423669
pop eax
pop ecx
jmp 0x424bf1
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], esi
lea esi, [esp + 0x9c]
xor ecx, ecx
mov dword [esp + 0x50], edi
push 0x20
pop eax
test cl, 1
jne 0x424ccb
mov ecx, dword [esp + 0x50]
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
lea edx, [esp + 0x94]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x40]
movsd qword [esp + 0xa4], xmm1
movsd qword [esp + 0x9c], xmm0
mov dword [esp + 0xb0], eax
push eax
push esi
call fcn.00423669
pop eax
pop ecx
mov eax, 0x110000
mov cl, 1
jmp 0x424c79
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
and dword [esp + 0x30], 0
mov dword [esp + 0x34], 1
and dword [esp + 0x38], 0
shl ecx, 3
mov dword [esp + 0x84], eax
mov dword [esp + 8], eax
mov dword [esp + 0x88], esi
test ecx, ecx
je 0x424dc0
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x34]
mov edx, ebp
mov dword [esp + 0x8c], ecx
call fcn.00423bb9
mov dword [esp + 0x90], eax
mov eax, dword [esp + 8]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, edi
mov edx, ebx
call fcn.00423bb9
test ebp, ebp
je 0x424d99
mov esi, eax
mov ecx, str.__n_n_nOptions:_n
add esi, dword [esp + 0x90]
xor edx, edx
inc edx
call fcn.00423bb9
add eax, esi
cmp eax, 0x37
jae 0x424d72
lea eax, [0x481029]
lea ecx, [esp + 0x30]
mov edx, str.__n_n_nOptions:_n
push eax
call fcn.0041ac12
pop eax
jmp 0x424d99
mov edx, dword [esp + 0x8c]
lea esi, [esp + 0x9c]
mov ecx, esi
push ebp
call fcn.0041b116
pop eax
lea ecx, [esp + 0x68]
mov edx, esi
call fcn.00423e20
and dword [esp + 0x38], 0
add dword [esp + 8], 8
add ebx, edi
lea ecx, [esp + 0x30]
mov edx, edi
push ebx
call fcn.0041ac12
pop eax
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x88]
add ecx, 0xfffffff8
jmp 0x424cfe
cmp dword [esp + 0x38], 0
je 0x424dd6
lea ecx, [esp + 0x68]
lea edx, [esp + 0x30]
call fcn.00423e20
jmp 0x424de3
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
call fcn.0041ae6b
test esi, esi
je 0x424a5e
mov ecx, dword [esp + 0x84]
shl esi, 3
push 4
pop edx
push esi
call fcn.0040ecaa
pop eax
jmp 0x424a5e
movsd xmm0, qword [esp + 0x68]
mov eax, dword [esp + 0x70]
lea esi, [esp + 0x9c]
mov ebx, dword [esp + 0x100]
lea edi, [esp + 0xb4]
mov ecx, edi
movsd qword [esi], xmm0
mov dword [esi + 8], eax
mov edx, dword [esi + 4]
push dword [ebx + 8]
push dword [ebx + 4]
push eax
call fcn.00423e54
add esp, 0xc
mov ebx, dword [edi + 4]
mov eax, dword [edi + 8]
lea ebp, [esp + 0x14]
mov ecx, ebp
add eax, ebx
mov edx, ebx
push eax
call fcn.0041ac12
pop eax
mov ecx, dword [edi]
mov edx, ebx
call fcn.0041ae6b
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0xfc]
movsd xmm0, qword [ebp]
mov ecx, esi
mov dword [edi + 8], eax
movsd qword [edi], xmm0
call fcn.00424178
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x28]
call fcn.0041ae6b
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x20]
call fcn.0041ae6b
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x24]
call fcn.0041ae6b
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
call fcn.0041ae6b
mov eax, edi
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
ud2