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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x78b4e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
xor ecx, ecx
mov eax, dword [edi + 0x40]
mov dword [esp + 0x1c], ecx
cmp eax, 2
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], eax
jge 0x46cb92
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
fld qword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
fabs
fcomp qword [0x7cc738]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
fnstsw ax
test ah, 0x41
jne 0x46cc12
mov ecx, edi
call fcn.0046c8d0
fld st(0)
fsub qword [ebp + 0xc]
fabs
fcomp qword [0x7cc738]
fnstsw ax
test ah, 0x41
je 0x46cbfc
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
mov eax, dword [ebp + 8]
mov esi, dword [edx + ecx*8 - 8]
mov dword [eax], esi
mov ecx, dword [edx + ecx*8 - 4]
fstp st(0)
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
fadd qword [ebp + 0xc]
fld st(0)
fabs
fcomp qword [0x7cc738]
fnstsw ax
test ah, 0x41
je 0x46cc39
fstp st(0)
mov edx, dword [edi + 0x3c]
mov eax, dword [ebp + 8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
fld qword [ebp + 0xc]
fcomp qword [0x7ca988]
fnstsw ax
test ah, 1
je 0x46cc4f
fstp qword [esp + 0x24]
jmp 0x46cc51
fstp st(0)
cmp dword [edi + 0x88], esi
je 0x46cd12
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x40]
mov edx, dword [eax + ecx*8 - 4]
push edx
mov edx, dword [eax + 4]
mov ecx, dword [eax + ecx*8 - 8]
mov eax, dword [eax]
push ecx
push edx
push eax
call fcn.004fb030
mov eax, dword [ebp + 0x14]
mov edx, dword [esp + 0x28]
fstp qword [esp + 0x2c]
lea ecx, [esp + 0x1c]
cmp eax, esi
mov eax, dword [edi + 0x3c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push ecx
je 0x46ccbc
mov edx, dword [edi + 0x40]
mov ecx, dword [eax + edx*8 - 4]
push ecx
mov ecx, dword [eax + 4]
mov edx, dword [eax + edx*8 - 8]
push edx
mov edx, dword [eax]
push ecx
push edx
call fcn.004fbd20
fld qword [esp + 0x40]
fdiv qword [esp + 0x48]
add esp, 0x1c
jmp 0x46cce6
mov edx, dword [eax + 4]
mov ecx, dword [eax]
push edx
mov edx, dword [edi + 0x40]
push ecx
mov ecx, dword [eax + edx*8 - 4]
push ecx
mov edx, dword [eax + edx*8 - 8]
push edx
call fcn.004fbd20
fld qword [esp + 0x40]
fdiv qword [esp + 0x48]
add esp, 0x1c
fsubr qword [0x7ca980]
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
fstp qword [eax]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x58], 0x7cb8c8
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x14]
xor ebx, ebx
cmp edx, esi
mov dword [esp + 0x88], esi
jle 0x46cdbc
jmp 0x46cd45
mov eax, dword [esp + 0x60]
cmp ebx, esi
jne 0x46cd6f
mov dword [esp + 0x18], eax
inc eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x60]
call fcn.00421d50
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
mov dword [ecx + eax*8], esi
mov edx, dword [esp + 0x5c]
mov dword [edx + eax*8 + 4], esi
jmp 0x46cdaf
lea eax, [ebx - 1]
push ebx
push eax
mov ecx, edi
call fcn.0046c9f0
mov eax, dword [esp + 0x60]
push 0xffffffffffffffff
fstp qword [esp + 0x38]
mov dword [esp + 0x1c], eax
inc eax
push eax
lea ecx, [esp + 0x60]
call fcn.00421d50
fld qword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x18]
fstp qword [ecx + edx*8]
fld qword [esp + 0x34]
fadd qword [esp + 0x2c]
fstp qword [esp + 0x2c]
mov eax, dword [esp + 0x14]
inc ebx
cmp ebx, eax
jl 0x46cd41
mov ecx, dword [esp + 0x5c]
fld qword [esp + 0x24]
fcomp qword [esp + 0x2c]
fnstsw ax
test ah, 0x41
jne 0x46cdfb
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], 0x7cb8c8
mov dword [edi], eax
mov dword [edi + 4], edx
cmp ecx, esi
mov dword [esp + 0x88], 1
je 0x46d1ab
jmp 0x46d1a2
cmp dword [ebp + 0x14], esi
jne 0x46cee0
mov ecx, edi
call fcn.0046b4a0
mov dword [esp + 0x6c], 0x7cb8c8
mov dword [esp + 0x70], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], esi
mov eax, dword [esp + 0x60]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x74]
mov byte [esp + 0x90], 2
call fcn.00421d50
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x70]
cmp edx, esi
je 0x46ce5e
mov ebx, dword [ecx]
add ecx, 8
mov dword [eax], ebx
mov ebx, dword [ecx - 4]
mov dword [eax + 4], ebx
add eax, 8
dec edx
jne 0x46ce4b
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x60]
call fcn.00421d50
mov ecx, dword [esp + 0x74]
lea ebx, [ecx - 1]
cmp ebx, esi
jl 0x46cea7
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
inc eax
fld qword [edx + ebx*8]
push 0xffffffffffffffff
push eax
fstp qword [esp + 0x54]
lea ecx, [esp + 0x60]
call fcn.00421d50
fld qword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
dec ebx
fstp qword [eax + ecx*8]
jns 0x46ce75
push 0xffffffffffffffff
push esi
lea ecx, [esp + 0x74]
call fcn.00421d50
mov dword [esp + 0x6c], 0x7cb8c8
mov eax, dword [esp + 0x70]
mov byte [esp + 0x88], 3
cmp eax, esi
je 0x46ced4
push eax
call fcn.007604d0
add esp, 4
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x88], 0
mov eax, dword [esp + 0x14]
xor ebx, ebx
fld qword [0x7ca988]
cmp eax, esi
jle 0x46d14e
fadd qword [ecx + ebx*8]
fcom qword [esp + 0x24]
fnstsw ax
test ah, 1
jne 0x46d141
fcom qword [esp + 0x24]
fnstsw ax
test ah, 0x40
jne 0x46d1c4
fsub qword [ecx + ebx*8]
mov dword [esp + 0x6c], 0x7cb8e8
mov dword [esp + 0x70], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], esi
fst qword [esp + 0x2c]
fld qword [esp + 0x24]
fsub st(1)
fstp qword [esp + 0x34]
fstp st(0)
lea edx, [esp + 0x6c]
lea eax, [ebx - 1]
push edx
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x94], 4
mov dword [esp + 0x24], esi
call fcn.0046bed0
test eax, eax
je 0x46d219
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x50]
add ecx, ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
fld qword [edx + ecx*8]
fsub qword [edx + ecx*8 - 8]
fidiv dword [esp + 0x74]
lea eax, [edx + ecx*8]
mov eax, dword [esp + 0x74]
dec eax
test eax, eax
mov dword [esp + 0x10], eax
fstp qword [esp + 0x3c]
jle 0x46d0f5
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + esi*8 + 0xc]
mov edx, dword [eax + esi*8 + 8]
push ecx
mov ecx, dword [eax + esi*8 + 4]
push edx
mov edx, dword [eax + esi*8]
push ecx
push edx
call fcn.004fb030
fst qword [esp + 0x44]
fadd qword [esp + 0x4c]
fcom qword [esp + 0x34]
fst qword [esp + 0x4c]
fnstsw ax
test ah, 1
je 0x46cfeb
mov eax, dword [esp + 0x10]
inc esi
cmp esi, eax
fstp st(0)
jl 0x46cfa4
mov dword [esp + 0x10], esi
jmp 0x46d0f5
fcom qword [esp + 0x34]
mov dword [esp + 0x10], esi
fnstsw ax
test ah, 0x40
je 0x46d058
mov eax, dword [esp + 0x70]
inc esi
fstp st(0)
mov ecx, dword [eax + esi*8]
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], edx
test eax, eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x18], 1
je 0x46d03c
fild dword [esp + 0x10]
mov ecx, dword [edi + 0x50]
add eax, ebx
fmul qword [esp + 0x3c]
fadd qword [ecx + eax*8 - 8]
jmp 0x46d0f0
mov ecx, dword [edi + 0x50]
add eax, ebx
fld qword [0x7ca980]
fsub qword [ecx + eax*8 - 8]
fild dword [esp + 0x10]
fmul qword [esp + 0x3c]
jmp 0x46d0ee
fld qword [esp + 0x44]
fadd qword [esp + 0x34]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x74]
fsub st(1)
fstp qword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [eax + esi*8 + 0xc]
push edx
mov edx, dword [eax + esi*8 + 8]
push ecx
mov ecx, dword [eax + esi*8 + 4]
push edx
mov edx, dword [eax + esi*8]
push ecx
push edx
fstp st(0)
call fcn.004fbd20
mov eax, dword [ebp + 0x14]
add esp, 0x1c
test eax, eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x18], 1
je 0x46d0c9
fld qword [esp + 0x34]
fmul qword [esp + 0x3c]
mov ecx, dword [edi + 0x50]
add eax, ebx
fdiv qword [esp + 0x44]
fadd qword [ecx + eax*8 - 8]
fild dword [esp + 0x10]
fmul qword [esp + 0x3c]
faddp st(1)
jmp 0x46d0f0
mov ecx, dword [edi + 0x50]
add eax, ebx
fld qword [0x7ca980]
fsub qword [ecx + eax*8 - 8]
fild dword [esp + 0x10]
fmul qword [esp + 0x3c]
fsubp st(1)
fld qword [esp + 0x34]
fmul qword [esp + 0x3c]
fdiv qword [esp + 0x44]
fsubp st(1)
mov edx, dword [ebp + 0x18]
fstp qword [edx]
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x74]
call fcn.005fc3f0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], 0x7cb8e8
test eax, eax
jne 0x46d24b
mov eax, dword [esp + 0x70]
mov byte [esp + 0x88], 7
test eax, eax
je 0x46d12f
push eax
call fcn.007604d0
add esp, 4
fld qword [esp + 0x2c]
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x88], 0
xor esi, esi
mov eax, dword [esp + 0x14]
inc ebx
cmp ebx, eax
jl 0x46cef4
fstp st(0)
cmp dword [ebp + 0x14], esi
jne 0x46d160
mov ecx, edi
call fcn.0046b4a0
mov ecx, dword [esp + 0x5c]
cmp ecx, esi
je 0x46d173
push ecx
call fcn.007604d0
add esp, 4
xor ecx, ecx
mov dword [esp + 0x5c], ecx
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x64], esi
mov dword [edi], eax
mov dword [esp + 0x60], esi
mov dword [edi + 4], edx
mov dword [esp + 0x58], 0x7cb8c8
cmp ecx, esi
mov dword [esp + 0x88], 8
je 0x46d1ab
push ecx
call fcn.007604d0
add esp, 4
mov ecx, dword [esp + 0x80]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [edi + 0x3c]
fstp st(0)
mov edx, dword [eax + ebx*8 + 8]
mov dword [esp + 0x1c], edx
mov eax, dword [eax + ebx*8 + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x14]
cmp eax, esi
je 0x46d1fe
mov edx, dword [edi + 0x20]
mov esi, dword [edi + 0x50]
mov eax, dword [ebp + 0x18]
add edx, ebx
mov ebx, dword [esi + edx*8]
mov dword [eax], ebx
mov edx, dword [esi + edx*8 + 4]
xor esi, esi
mov dword [eax + 4], edx
jmp 0x46d150
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x50]
fld qword [0x7ca980]
mov edx, dword [ebp + 0x18]
add eax, ebx
fsub qword [ecx + eax*8]
fstp qword [edx]
jmp 0x46d155
mov dword [esp + 0x6c], method.CCommandLineInfo.virtual_0
mov eax, dword [esp + 0x70]
mov byte [esp + 0x88], 5
cmp eax, esi
je 0x46d23a
push eax
call fcn.007604d0
add esp, 4
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x88], 0
jmp 0x46d150
mov eax, dword [esp + 0x70]
mov byte [esp + 0x88], 6
test eax, eax
je 0x46d264
push eax
call fcn.007604d0
add esp, 4
mov ecx, dword [esp + 0x5c]
mov byte [esp + 0x88], 0
xor esi, esi
jmp 0x46d150