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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x860
mov edi, edx
mov esi, ecx
mov dword [esp + 0x18], 0
xor edx, edx
call fcn.00407e40
test byte [esi + 0x6c], 4
jne 0x42297c
test byte [esi + 0x68], 2
jne 0x422989
cmp dword [0x53ddec], 0
jne 0x42299d
jmp 0x422ab2
mov ecx, edi
call fcn.0041a7f0
test byte [esi + 0x68], 2
je 0x42296e
mov dword [esi + 0x60], 0
cmp dword [0x53ddec], 0
je 0x422ab2
mov eax, dword [0x53ddf4]
test eax, eax
je 0x422ab2
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x24], 0xffffffff
lea ecx, [esp + 0x20]
lea edx, [esp + 0x28]
push 0x53de18
push 0x53de10
push ecx
push edx
push dword [0x53ddf8]
call eax
mov dword [esp + 0x84], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [0x53de28]
test eax, eax
jne 0x422a1c
push 0
call fcn.004239b0
add esp, 4
mov dword [0x53de28], eax
test eax, eax
je 0x422aa3
cmp dword [eax], 2
jl 0x422a46
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x422a46
lea edx, [esp + 0x80]
push edx
push eax
call ecx
add esp, 8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
jmp 0x422aa7
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0xffffffff
lea ecx, [esp + 8]
push ecx
push eax
call dword [eax + 0x40]
add esp, 8
movsd xmm0, qword [esp + 8]
mulsd xmm0, qword [0x51cd58]
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fnstcw word [esp + 6]
movzx eax, word [esp + 6]
or eax, 0xc00
mov word [esp + 0x1e], ax
fldcw word [esp + 0x1e]
fistp qword [esp + 0x38]
fldcw word [esp + 6]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
jmp 0x422aa7
xor eax, eax
xor ecx, ecx
mov dword [0x53de20], eax
mov dword [0x53de24], ecx
lea eax, [esp + 0x18]
mov ecx, esi
mov edx, edi
push eax
call fcn.00410460
add esp, 4
cmp dword [0x53ddec], 0
je 0x422cd6
cmp dword [0x53ddf4], 0
je 0x422cd6
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x84], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [0x53de28]
test eax, eax
jne 0x422b57
push 0
call fcn.004239b0
add esp, 4
mov dword [0x53de28], eax
test eax, eax
je 0x422bde
cmp dword [eax], 2
jl 0x422b81
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x422b81
lea edx, [esp + 0x80]
push edx
push eax
call ecx
add esp, 8
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
jmp 0x422be2
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0xffffffff
lea ecx, [esp + 8]
push ecx
push eax
call dword [eax + 0x40]
add esp, 8
movsd xmm0, qword [esp + 8]
mulsd xmm0, qword [0x51cd58]
movsd qword [esp + 0x30], xmm0
fld qword [esp + 0x30]
fnstcw word [esp + 4]
movzx eax, word [esp + 4]
or eax, 0xc00
mov word [esp + 0x1c], ax
fldcw word [esp + 0x1c]
fistp qword [esp + 0x30]
fldcw word [esp + 4]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
jmp 0x422be2
xor ebx, ebx
xor edi, edi
lea eax, [esp + 0x40]
lea ecx, [esp + 0x48]
lea edx, [esp + 0x20]
push eax
push ecx
push edx
lea eax, [esp + 0x34]
push eax
push dword [0x53ddf8]
call dword [0x53ddf4]
sub ebx, dword [0x53de20]
sbb edi, dword [0x53de24]
movd xmm0, edi
movd xmm1, ebx
punpckldq xmm1, xmm0
movq qword [esp + 0x58], xmm1
fild qword [esp + 0x58]
fstp qword [esp + 0x50]
movsd xmm0, qword [esp + 0x50]
mulsd xmm0, qword [0x51cd60]
mov eax, dword [esp + 0x40]
sub eax, dword [0x53de18]
mov ecx, dword [esp + 0x44]
sbb ecx, dword [0x53de1c]
movd xmm1, ecx
movd xmm2, eax
punpckldq xmm2, xmm1
movq qword [esp + 0x68], xmm2
fild qword [esp + 0x68]
fstp qword [esp + 0x60]
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [0x51cd68]
divsd xmm1, xmm2
mov eax, dword [esp + 0x48]
sub eax, dword [0x53de10]
mov ecx, dword [esp + 0x4c]
sbb ecx, dword [0x53de14]
movd xmm3, ecx
movd xmm4, eax
punpckldq xmm4, xmm3
movq qword [esp + 0x78], xmm4
fild qword [esp + 0x78]
fstp qword [esp + 0x70]
movsd xmm3, qword [esp + 0x70]
divsd xmm3, xmm2
sub esp, 0x1c
movsd qword [esp + 4], xmm0
movsd qword [esp + 0x14], xmm3
movsd qword [esp + 0xc], xmm1
mov dword [esp], str.Run_Time:_real__.3f_user__f_sys__f_n
call fcn.00408710
add esp, 0x1c
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
jne 0x422d59
test ebx, ebx
jne 0x422d59
xor edi, edi
test byte [esi + 0x6c], 0x20
je 0x422e7b
lea eax, [esp + 0x80]
push 0x7d0
push 0xff
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
push dword [esi]
call fcn.00439b60
add esp, 4
mov dword [esp + 0x14], eax
mov ebx, edx
push dword [esi]
call fcn.00439b80
add esp, 4
push edx
push eax
push ebx
push dword [esp + 0x20]
push str.changes:__lld___total_changes:__lld
lea ebx, [esp + 0x94]
push ebx
push 0x7d0
call fcn.00428750
add esp, 0x1c
push ebx
push 0x51e066
push dword [esi + 0x38]
call fcn.004062d0
add esp, 0xc
jmp 0x422e7b
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xd0], xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
mov dword [esp + 0xe0], 0xffffffff
test ebx, ebx
je 0x422de3
push 0xc
push str.in_prepare_
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
test eax, eax
je 0x422dfc
push 0xa
push str.stepping_
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
add esp, 0xc
lea ecx, [ebx + 0xa]
test eax, eax
cmove ebx, ecx
mov eax, str.Runtime_error
mov edi, str.Error
cmove edi, eax
cmp dword [ebp + 8], 0
je 0x422e0a
jmp 0x422e2d
mov edi, str.Error
push dword [esi]
call fcn.004362c0
add esp, 4
mov ebx, eax
cmp dword [ebp + 8], 0
je 0x422e0a
jmp 0x422e2d
add ebx, 0xc
mov edi, str.Parse_error
cmp dword [ebp + 8], 0
jne 0x422e2d
cmp dword [0x53c140], 0
je 0x422e2d
lea eax, [esp + 0x80]
push edi
push 0x526445
push eax
push 0x64
call fcn.00428750
add esp, 0x10
jmp 0x422e48
lea eax, [esp + 0x80]
push dword [ebp + 0xc]
push edi
push str._s_near_line__d:
push eax
push 0x64
call fcn.00428750
add esp, 0x14
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
lea ecx, [esp + 0x80]
push ebx
push ecx
push str._s__s_n
push eax
call fcn.004014c0
add esp, 0x10
push dword [esp + 0x18]
call fcn.00424f10
add esp, 4
mov edi, 1
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret