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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x650
mov esi, esp
mov dword [esi + 0x638], ebp
mov ebx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
movsd xmm0, qword [ebp + 0x10]
mov dword [esi + 0x63c], esp
mov dword [esi + 0x648], 0xffffffff
lea eax, [esi + 0x640]
mov dword [esi + 0x644], 0x10127900
mov ecx, dword fs:[0]
mov dword [esi + 0x640], ecx
mov dword fs:[0], eax
movzx eax, byte [edx + 0xa]
test al, al
mov ecx, 2
cmovne ecx, eax
mov dword [esi + 0x18], ecx
mov byte [esi + 0x27], cl
movsx ecx, byte [edx + 8]
add ecx, 0xffffffbf
mov eax, dword [edx + 4]
mov dword [esi + 0x20], 3
xor edx, edx
mov dword [esi], 0
mov dword [esi + 4], 0
cmp ecx, 0x26
mov dword [esi + 0x7c], ebx
ja case.default.0x10125047
xor ebx, ebx
jmp dword [ecx*4 + 0x101258c0]
mov cl, 1
mov dword [esi], ecx
mov ebx, dword [esi]
mov dword [esi + 0x20], 4
mov cl, 1
mov dword [esi], ecx
mov cl, 0x70
mov dword [esi + 4], ecx
jmp case.0x10125047.66
mov cl, 1
mov dword [esi], ecx
cmp eax, 0xffffffff
mov ecx, 6
cmove eax, ecx
mov ebx, dword [esi]
mov dword [esi + 0x20], 2
mov dword [esi + 4], 0
jmp 0x101250b7
mov cl, 1
mov dword [esi], ecx
cmp eax, 0xffffffff
mov ecx, 6
cmove eax, ecx
mov ebx, dword [esi]
mov dword [esi + 0x20], 1
jmp 0x101250b2
mov cl, 1
mov dword [esi], ecx
mov ebx, dword [esi]
cmp eax, 0xffffffff
mov ecx, 6
cmove eax, ecx
mov cl, 0x65
mov dword [esi + 4], ecx
mov dword [esi], 0
mov dword [esi + 0xc], ebx
lea ecx, [eax - 0x432]
cmp eax, 0x433
cmovge edx, ecx
mov dword [esi + 0x3c], edx
cmp eax, 0x432
mov ebx, 0x432
cmovl ebx, eax
sub esp, 8
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dsign]
add esp, 8
mov edi, eax
test eax, eax
setne byte [esi + 0x26]
movsd xmm0, qword [ebp + 0x10]
movsd qword [esi + 0x80], xmm0
lea eax, [esi + 0x80]
push eax
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
add esp, 4
cmp ax, 2
mov dword [esi + 0x78], ebx
jne 0x1012513f
cmp edi, 1
lea eax, [esi + 0xcf]
sbb eax, 0xffffffff
mov byte [eax + 2], 0x6e
mov word [eax], 0x616e
add eax, 3
mov dword [esi + 0x58], eax
movsd xmm0, qword [ebp + 0x10]
jmp 0x1012518d
mov dword [esi + 0x14], edi
lea ecx, [esi + 0x638]
lea edi, [esi + 0xcf]
cmp ebx, 0xffffffff
je 0x10125292
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov eax, dword [esi + 0x20]
mov dword [esp + 0x10], eax
movsd xmm0, qword [ebp + 0x10]
movsd qword [esp + 8], xmm0
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.10125b20
movsd xmm0, qword [ebp + 0x10]
add esp, 0x18
mov dword [esi + 0x5c], edx
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x14]
lea edx, [esi + 0xcf]
mov ecx, eax
sub ecx, edx
mov dword [esi + 0x54], edx
mov dword [esi + 0x34], ecx
test edi, edi
mov ebx, dword [esi + 0xc]
je 0x101251b2
lea edx, [esi + 0xd0]
mov dword [esi + 0x54], edx
mov edi, dword [ebp + 0x18]
jmp 0x101251bf
cmp byte [esi + 0x18], 2
mov edi, dword [ebp + 0x18]
je 0x101251bf
inc ecx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x18], ecx
test bl, bl
mov dword [esi], eax
mov dword [esi + 0x14], edx
je 0x1012520e
cmp edx, eax
je 0x101251f4
mov edi, eax
mov ebx, dword [esi + 0x14]
nop word cs:[eax + eax]
movsx eax, byte [ebx]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov byte [ebx], al
inc ebx
cmp ebx, edi
jne 0x101251e0
movzx eax, byte [esi + 4]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov ebx, eax
mov edi, dword [ebp + 0x18]
movsd xmm0, qword [ebp + 0x10]
jmp 0x10125211
mov ebx, dword [esi + 4]
movsd qword [esi + 0x80], xmm0
lea eax, [esi + 0x80]
push eax
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dtest]
add esp, 4
mov byte [esi + 0x13], 0
mov ecx, dword [esi]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x28], 0
mov dword [esi + 0x4c], 0
xorpd xmm0, xmm0
movapd xmmword [esi + 0x60], xmm0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0xf
test ax, ax
jle 0x1012526c
xor edx, edx
mov ebx, dword [esi + 0x18]
jmp 0x10125646
mov word [esi + 0xa], ax
mov dh, byte [edi + 0xb]
mov dl, byte [edi + 0xc]
mov al, dh
or al, dl
jne 0x10125321
mov dword [esi + 0x2c], 0
mov dword [esi + 0x1c], ecx
mov edx, dword [esi + 0x3c]
jmp 0x101254e1
movq xmm0, qword [ebp + 0x10]
movq qword [esi + 0xc0], xmm0
mov ebx, dword [esi + 0xc0]
mov eax, dword [esi + 0xc4]
mov edx, eax
test eax, eax
jns 0x101252d2
lea edi, [esi + 0xd0]
mov byte [esi + 0xcf], 0x2d
mov edx, eax
and edx, 0x7fffffff
movd xmm0, ebx
movd xmm1, edx
punpckldq xmm0, xmm1
mov ecx, edx
not ecx
test ecx, 0x7ff00000
jne 0x10125365
mov ecx, ebx
mov ebx, edx
and ebx, 0xfffff
mov dword [esi], ecx
or ecx, ebx
je 0x101253ed
test eax, eax
movsd xmm0, qword [ebp + 0x10]
jns 0x101253ff
xor ebx, 0x80000
or dword [esi], ebx
jne 0x101253ff
mov ebx, 8
mov dword [esi], str.nan_ind_
jmp 0x10125421
mov byte [esi + 0x25], dl
mov dword [esi + 4], ebx
mov ebx, ecx
mov eax, ecx
cmp dword [esi + 0x14], ecx
jae 0x10125488
mov byte [esi + 0x2c], dh
mov eax, ecx
mov edi, dword [esi + 0x14]
sub eax, edi
mov edx, dword [esi + 0x30]
mov ebx, dword [esi + 0x40]
mov dword [esi + 0x1c], ebx
mov ebx, edi
not ebx
mov dword [esi + 0x38], ebx
test al, 1
jne 0x10125399
mov dword [esi + 0xc], ecx
mov ebx, ecx
add dword [esi + 0x38], ecx
je 0x10125472
jmp 0x101254ec
cmp byte [esi], 0
je 0x101253b4
sub esp, 0x10
movq qword [esp + 8], xmm0
lea eax, [esi + 0x638]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.10125970
add esp, 0x10
movsd xmm0, qword [ebp + 0x10]
jmp 0x10125184
xor ebx, ebx
jmp case.0x10125047.66
mov eax, edi
movzx ebx, byte [edi]
cmp bl, 0x2e
jne 0x10125458
mov dword [esi + 0x1c], eax
mov dword [esi + 0xc], eax
mov ebx, dword [esi]
jmp 0x10125468
mov dword [esi + 0x648], 0
sub esp, 0x14
mov eax, dword [esi + 0x20]
mov dword [esp + 0x10], eax
movq qword [esp + 8], xmm0
lea eax, [esi + 0x638]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.101193a0
add esp, 0x14
movsd xmm0, qword [ebp + 0x10]
jmp 0x10125184
mov ebx, 3
mov dword [esi], 0x101ed5cb
movsd xmm0, qword [ebp + 0x10]
jmp 0x10125421
test edx, 0x80000
mov ecx, str.nan_snan_
mov eax, 0x101ece46
cmove eax, ecx
mov dword [esi], eax
mov ecx, 9
mov ebx, 3
cmove ebx, ecx
lea ecx, [esi + 0x638]
sub ecx, edi
mov edx, 0x84
cmp ecx, ebx
lea eax, [esi + 0x638]
jl 0x10125184
push ebx
push dword [esi]
push edi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [ebp + 0x10]
add esp, 0xc
add edi, ebx
xor edx, edx
mov eax, edi
jmp 0x10125184
cmp bl, byte [esi + 4]
cmove edx, eax
mov edi, dword [esi]
mov ebx, edi
cmove ebx, eax
mov dword [esi + 0xc], edi
lea edi, [eax + 1]
mov ecx, dword [esi]
add dword [esi + 0x38], ecx
jne 0x101254ec
mov dword [esi + 0x30], edx
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x40], eax
mov edi, dword [ebp + 0x18]
mov ecx, dword [esi]
mov eax, ebx
mov dh, byte [esi + 0x2c]
mov ebx, dword [esi + 0xc]
cmp eax, ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x1c], eax
cmovb ebx, eax
xor eax, eax
mov dword [esi + 0x50], ebx
test dh, dh
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x38], ebx
je 0x101254b7
cmp dword [esi + 0xc], ecx
jne 0x101254b7
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x34], eax
mov byte [esi + 0x13], 1
mov al, 1
mov ebx, dword [esi + 4]
cmp byte [esi + 0x25], 0
mov dword [esi + 0x2c], eax
je 0x101254e1
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x1012553a
mov ecx, dword [eax + 4]
mov dword [esi + 0x48], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esi + 0x648], 3
jmp 0x10125551
mov eax, dword [esi + 0x20]
dec eax
jmp dword [eax*4 + 0x1012595c]
inc edi
jmp 0x10125507
cmp al, byte [esi + 4]
cmove edx, edi
cmove ebx, edi
lea eax, [edi + 2]
inc edi
cmp edi, ecx
mov edi, eax
je 0x10125472
lea ecx, [edi - 1]
movzx eax, byte [edi - 1]
cmp al, 0x2e
jne 0x10125520
mov dword [esi + 0x1c], ecx
mov dword [esi + 0xc], ecx
jmp 0x10125529
cmp al, byte [esi + 4]
cmove edx, ecx
cmove ebx, ecx
movzx eax, byte [edi]
cmp al, 0x2e
mov ecx, dword [esi]
jne 0x101254f0
mov dword [esi + 0x1c], edi
mov dword [esi + 0xc], edi
jmp 0x101254f9
mov dword [esi + 0x648], 1
push 1
call sub.MSVCP140.dll_private:_static_class_std::locale::_Locimp____cdecl_std::locale::_Init_bool_
add esp, 4
mov dword [esi + 0x48], eax
mov dword [esi + 0x648], 3
lea eax, [esi + 0x44]
push eax
call fcn.1011d790
add esp, 4
mov edx, dword [eax]
mov ecx, eax
lea eax, [esi + 0x80]
push eax
call dword [edx + 0x14]
mov ecx, dword [esi + 0x48]
movups xmm0, xmmword [esi + 0x80]
movaps xmmword [esi + 0x60], xmm0
movsd xmm0, qword [esi + 0x90]
movsd qword [esi + 0x70], xmm0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0xf
mov byte [esi + 0x80], 0
test ecx, ecx
je 0x101255c0
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x101255c0
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov ebx, dword [esi + 0x70]
cmp dword [esi + 0x74], 0x10
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x38]
jb 0x101255d4
mov ecx, dword [esi + 0x60]
jmp 0x101255d7
lea ecx, [esi + 0x60]
xor edx, edx
test ebx, ebx
je 0x10125603
sub eax, edi
movsx edi, byte [ecx]
cmp eax, edi
mov dword [esi + 0xc], ebx
jbe 0x10125603
add dword [esi + 0xc], ecx
xor edx, edx
mov ebx, ecx
sub eax, edi
inc ebx
inc edx
cmp ebx, dword [esi + 0xc]
cmovne ecx, ebx
movsx edi, byte [ecx]
mov ebx, ecx
cmp eax, edi
ja 0x101255f0
mov dword [esi + 0x4c], edx
mov eax, dword [esi + 0x20]
dec eax
mov edi, dword [ebp + 0x18]
mov edx, dword [esi + 0x3c]
mov ebx, dword [esi + 4]
mov ecx, dword [esi]
jmp dword [eax*4 + 0x1012595c]
test edx, edx
je 0x1012563c
mov ecx, dword [esi + 0x1c]
dec ecx
nop word cs:[eax + eax]
mov dword [esi + 0x30], ecx
lea eax, [ecx - 1]
cmp byte [ecx], bl
mov ecx, eax
jne 0x10125630
mov dword [esi + 0x28], edx
mov ebx, dword [esi + 0x18]
movzx eax, word [esi + 0xa]
test ax, ax
setle al
add ebx, edx
mov dword [esi + 0x34], ebx
cmp byte [edi + 0xd], 0
setne dl
cmp byte [edi + 9], 0
sete cl
and cl, dl
lea edx, [esi + 0x27]
mov dword [esi + 0x80], edx
lea edx, [esi + 0x26]
mov dword [esi + 0x84], edx
lea edx, [esi + 0x44]
mov dword [esi + 0x88], edx
lea edx, [esi + 0x34]
mov dword [esi + 0x8c], edx
mov dword [esi + 0x90], edi
lea edx, [ebp + 0x1c]
mov dword [esi + 0x94], edx
lea edx, [esi + 0x54]
mov dword [esi + 0x98], edx
lea edx, [esi + 0x50]
mov dword [esi + 0x9c], edx
lea edx, [esi + 0x60]
mov dword [esi + 0xa0], edx
lea edx, [esi + 0x4c]
mov dword [esi + 0xa4], edx
lea edx, [esi + 0x40]
mov dword [esi + 0xa8], edx
lea edx, [esi + 0x58]
mov dword [esi + 0xac], edx
lea edx, [esi + 0x13]
mov dword [esi + 0xb0], edx
lea edx, [esi + 0x30]
mov dword [esi + 0xb4], edx
lea edx, [esi + 0x28]
mov dword [esi + 0xb8], edx
mov edx, dword [ebp + 0xc]
mov dword [esi + 0x648], 2
and cl, al
mov byte [esi + 0x44], cl
je 0x1012570a
lea ecx, [esi + 0x80]
push edx
push dword [ebp + 8]
call fcn.10123550
jmp 0x10125721
lea eax, [esi + 0x80]
push eax
push 2
push edi
push ebx
push edx
push dword [ebp + 8]
call fcn.10123920
add esp, 0x18
mov eax, dword [esi + 0x74]
cmp eax, 0x10
mov ebx, dword [ebp + 8]
jb 0x1012575c
mov ecx, dword [esi + 0x60]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x10125752
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10125825
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.10155aa0
add esp, 8
mov eax, dword [esi + 0x640]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop dword [eax + eax]
push ebp
sub esp, 0x18
lea esi, [ebp - 0x64c]
mov ebp, dword [esi + 0x638]
call sub.VCRUNTIME140.dll___std_terminate
nop word cs:[eax + eax]
push ebp
sub esp, 0x18
lea esi, [ebp - 0x64c]
mov ebp, dword [esi + 0x638]
call sub.VCRUNTIME140.dll___std_terminate
nop word cs:[eax + eax]
push ebp
sub esp, 0x18
lea esi, [ebp - 0x64c]
mov ebp, dword [esi + 0x638]
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x10125898
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x10125898
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
add esp, 0x18
pop ebp
ret