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

Disassembly:
sub esp, 0x260
mov byte [0x10247954], 0
mov dword [0x10247958], 0
push ebx
push ebp
push esi
mov esi, dword [0x1027cc3c]
mov ebx, ecx
push edi
mov edi, dword [0x1027cc40]
cmp esi, edi
je 0x1002404a
nop dword [eax]
mov ecx, esi
call fcn.10024af0
add esi, 0x3c
cmp esi, edi
jne 0x10024030
mov esi, dword [0x1027cc3c]
mov dword [0x1027cc40], esi
mov eax, dword [esp + 0x274]
mov byte [esp + 0xa8], 0
and dword [esp + 0xa8], 0xfffffeff
mov dword [esp + 0xac], 0
lea ecx, [eax + eax*2]
mov dword [esp + 0xb0], 0
mov eax, dword [ebx + 0x18]
lea esi, [eax + ecx*8]
mov dword [esp + 0xb4], 0
cmp dword [esi + 0x14], 0xf
jbe 0x10024096
mov esi, dword [esi]
lea eax, [esp + 0x38]
mov ecx, ebx
push eax
call fcn.100207c0
mov ecx, eax
mov ebx, dword [ecx + 0x14]
mov eax, ebx
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x100240d1
lea eax, [edx + 1]
mov edi, ecx
mov dword [ecx + 0x10], eax
cmp ebx, 0xf
jbe 0x100240c2
mov edi, dword [ecx]
mov al, byte [0x1021a358]
mov byte [edi + edx], al
mov byte [edi + edx + 1], 0
jmp 0x100240e5
push 1
push 0x1021a358
push dword [esp + 0x24]
push 1
call fcn.10004980
mov ecx, eax
mov dword [esp + 0x30], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x34], 0
movups xmm0, xmmword [ecx]
push esi
movups xmmword [esp + 0x24], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [esp + 0x34], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
lea ecx, [esp + 0x24]
call fcn.100043d0
mov dword [esp + 0x98], 0
lea ecx, [esp + 0x120]
mov dword [esp + 0x9c], 0
xorps xmm0, xmm0
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x88], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x98], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x88]
cmp dword [esp + 0x9c], 0xf
cmova eax, dword [esp + 0x88]
sub esp, 0xc
push eax
call fcn.10027050
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 4]
mov dword [esp + eax + method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [esp + ecx + 0x11c], eax
mov ecx, dword [esp + 0x9c]
cmp ecx, 0xf
jbe 0x10024202
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100241f8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002428f
push ecx
push edx
call fcn.1018b662
add esp, 8
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0xf
mov byte [esp + 0x88], 0
cmp ecx, 0xf
jbe 0x10024252
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10024248
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002428f
push ecx
push edx
call fcn.1018b662
add esp, 8
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xf
mov byte [esp + 0x20], 0
cmp ecx, 0xf
jbe 0x1002429f
mov edx, dword [esp + 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10024295
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10024295
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1018b662
add esp, 8
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 4]
mov eax, dword [esp + eax + 0x12c]
test al, 6
jne 0x100249ce
test eax, eax
jne 0x100249ce
lea ecx, [esp + 0x120]
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::basic_istream_char__struct_std::char_traits_char__::peek_void_]
cmp eax, 0xffffffff
je 0x100249ce
mov byte [esp + 0x48], 0
lea ecx, [esp + 0x40]
and dword [esp + 0x48], 0xfffffeff
mov dword [esp + 0x38], vtable.Json::CharReaderBuilder.0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
call fcn.100d8d70
lea eax, [esp + 0x20]
mov dword [esp + 0x30], 0
push eax
xorps xmm0, xmm0
mov dword [esp + 0x38], 0xf
lea eax, [esp + 0xa4]
movups xmmword [esp + 0x24], xmm0
push eax
lea edx, [esp + 0x128]
mov byte [esp + 0x28], 0
lea ecx, [esp + 0x40]
call fcn.100d9480
add esp, 8
test al, al
je 0x10024a63
mov ecx, dword [esp + 0x34]
cmp ecx, 0xf
jbe 0x10024389
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002437f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002437f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1018b662
add esp, 8
lea ecx, [esp + 0x40]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xf
mov byte [esp + 0x20], 0
mov dword [esp + 0x38], vtable.Json::CharReaderBuilder.0
call fcn.100da3d0
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x40], 0
test esi, esi
je 0x100243d1
mov ecx, esi
call fcn.1002b630
push 0x48
push esi
call fcn.1018b662
add esp, 8
push 0x1021a374
push str.main
lea ecx, [esp + 0xa8]
call fcn.100da430
mov esi, eax
xor ebp, ebp
push 0x101ccde3
push str.records
mov ecx, esi
mov dword [esp + 0x24], ebp
call fcn.100da610
test eax, eax
je 0x10024422
push 0x101ccde3
push str.records
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9c00
mov ebp, eax
mov dword [esp + 0x1c], eax
xor ebx, ebx
mov dword [esp + 0x18], ebx
test ebp, ebp
je 0x100249ce
xorps xmm0, xmm0
mov dword [esp + 0xc8], 0
push 0x1021a36f
xor edi, edi
mov dword [esp + 0xd0], 0xf
movups xmmword [esp + 0xbc], xmm0
push str.globals
movups xmmword [esp + 0xd8], xmm0
lea ecx, [esp + 0xa8]
mov byte [esp + 0xc0], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0xf
mov byte [esp + 0xd8], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], edi
call fcn.100da430
push ebx
mov ecx, eax
call fcn.100da040
mov esi, eax
push 0x1021a38d
push str.routename
mov ecx, esi
call fcn.100da610
test eax, eax
je 0x10024520
push 0x1021a38d
push str.routename
mov ecx, esi
call fcn.100da430
mov ecx, dword [eax + 8]
cmp cl, 4
jne 0x10024a1b
mov edx, dword [eax]
test edx, edx
je 0x100244fd
shr ecx, 8
test cl, 1
je 0x100244fd
add edx, 4
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024502
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0xc0]
call fcn.1000c730
mov edi, dword [esp + 0xec]
push 0x1021a380
push str.startwpn
mov ecx, esi
call fcn.100da610
test eax, eax
je 0x10024586
push 0x1021a380
push str.startwpn
mov ecx, esi
call fcn.100da430
mov ecx, dword [eax + 8]
cmp cl, 4
jne 0x10024a3f
mov edx, dword [eax]
test edx, edx
je 0x10024563
shr ecx, 8
test cl, 1
je 0x10024563
add edx, 4
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024568
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0xd8]
call fcn.1000c730
mov edi, dword [esp + 0xec]
push 0x1021a3a2
xor ebp, ebp
mov ecx, esi
push str.framecount
mov dword [esp + 0x8c], ebp
call fcn.100da610
test eax, eax
je 0x100245c5
push 0x1021a3a2
push str.framecount
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9c00
mov ebp, eax
mov dword [esp + 0x84], eax
xor ebx, ebx
test ebp, ebp
je 0x10024963
nop
push 0x1021a395
push str.frame
lea ecx, [esp + 0xa8]
call fcn.100da430
push dword [esp + 0x18]
mov ecx, eax
call fcn.100da040
push ebx
mov ecx, eax
call fcn.100da040
xorps xmm0, xmm0
mov esi, eax
push 0x1021a3ba
push str.viewanglex
mov ecx, esi
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x68], xmm0
movss dword [esp + 0x88], xmm0
movss dword [esp + 0x84], xmm0
movss dword [esp + 0x80], xmm0
call fcn.100da610
test eax, eax
je 0x10024658
push 0x1021a3ba
push str.viewanglex
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9e90
movss dword [esp + 0x60], xmm0
push 0x1021a3ae
push str.viewangley
mov ecx, esi
call fcn.100da610
test eax, eax
je 0x1002468b
push 0x1021a3ae
push str.viewangley
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9e90
movss dword [esp + 0x64], xmm0
push 0x1021a3d3
push str.forwardmove
mov ecx, esi
call fcn.100da610
test eax, eax
je 0x100246ba
push 0x1021a3d3
push str.forwardmove
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9e90
jmp 0x100246c3
movss xmm0, dword [esp + 0xdc]
push 0x1021a3c4
push str.sidemove
mov ecx, esi
movss dword [esp + 0x70], xmm0
call fcn.100da610
test eax, eax
je 0x100246f8
push 0x1021a3c4
push str.sidemove
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9e90
jmp 0x10024701
movss xmm0, dword [esp + 0xe0]
push 0x1021a3e2
push str.upmove
mov ecx, esi
movss dword [esp + 0x74], xmm0
call fcn.100da610
test eax, eax
je 0x10024736
push 0x1021a3e2
push str.upmove
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9e90
jmp 0x1002473f
movss xmm0, dword [esp + 0xe4]
push 0x1021a3db
push str.buttons
mov ecx, esi
movss dword [esp + 0x78], xmm0
call fcn.100da610
test eax, eax
je 0x10024774
push 0x1021a3db
push str.buttons
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9c00
jmp 0x1002477b
mov eax, dword [esp + 0xe8]
push 0x1021a3f3
push str.mousedx
mov ecx, esi
mov dword [esp + 0x7c], eax
call fcn.100da610
test eax, eax
je 0x100247ae
push 0x1021a3f3
push str.mousedx
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9c00
jmp 0x100247b6
mov ax, word [esp + 0xfc]
push 0x1021a3eb
push str.mousedy
mov ecx, esi
mov word [esp + 0x1e], ax
call fcn.100da610
test eax, eax
je 0x100247ed
push 0x1021a3eb
push str.mousedy
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9c00
mov bp, ax
jmp 0x100247f5
mov bp, word [esp + 0xfe]
push 0x1021a400
push str.posx
mov ecx, esi
call fcn.100da610
test eax, eax
je 0x10024828
push 0x1021a400
push str.posx
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9e90
movss dword [esp + 0x78], xmm0
push 0x1021a3f8
push str.posy
mov ecx, esi
call fcn.100da610
test eax, eax
je 0x1002485b
push 0x1021a3f8
push str.posy
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9e90
movss dword [esp + 0x7c], xmm0
push 0x1021a408
push str.posz
mov ecx, esi
call fcn.100da610
test eax, eax
je 0x10024891
push 0x1021a408
push str.posz
mov ecx, esi
call fcn.100da430
mov ecx, eax
call fcn.100d9e90
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x60]
mov eax, dword [esp + 0x74]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x68]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x70]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x7c]
mov dword [esp + 0x4c], eax
mov ax, word [esp + 0x16]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x80]
mov word [esp + 0x50], ax
mov word [esp + 0x52], bp
movss dword [esp + 0x5c], xmm0
cmp edi, dword [esp + 0xf0]
je 0x1002493c
movups xmm0, xmmword [esp + 0x38]
movups xmmword [edi], xmm0
movups xmm0, xmmword [esp + 0x48]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x58]
movq qword [edi + 0x20], xmm0
add edi, 0x28
mov dword [esp + 0xec], edi
jmp 0x10024955
lea eax, [esp + 0x38]
push eax
push edi
lea ecx, [esp + 0xf0]
call fcn.10028780
mov edi, dword [esp + 0xec]
inc ebx
cmp ebx, dword [esp + 0x84]
jb 0x100245d0
mov esi, dword [0x1027cc40]
lea eax, [esp + 0xb8]
push eax
cmp esi, dword [0x1027cc44]
je 0x100249a9
mov ecx, esi
call fcn.10012190
lea eax, [esp + 0xd0]
push eax
lea ecx, [esi + 0x18]
call fcn.10012190
lea eax, [esp + 0xe8]
push eax
lea ecx, [esi + 0x30]
call fcn.10026ba0
add dword [0x1027cc40], 0x3c
jmp 0x100249af
push esi
call fcn.10028520
lea ecx, [esp + 0xb8]
call fcn.10024af0
mov ebx, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + 0x1c]
jb 0x10024430
lea ecx, [esp + 0x120]
call fcn.10024a70
lea ecx, [esp + 0xa0]
call fcn.100da3d0
mov esi, dword [esp + 0xac]
mov dword [esp + 0xa0], 0
test esi, esi
je 0x10024a0e
mov ecx, esi
call fcn.1002b630
push 0x48
push esi
call fcn.1018b662
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x260
ret 4
push ecx
lea ecx, [esp + 0x1dc]
call fcn.10062e30
mov edx, str.in_Json::Value::asCString__:_requires_stringValue
lea ecx, [esp + 0x1d8]
call fcn.10013ac0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
push ecx
lea ecx, [esp + 0x1dc]
call fcn.10062e30
mov edx, str.in_Json::Value::asCString__:_requires_stringValue
lea ecx, [esp + 0x1d8]
call fcn.10013ac0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3