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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x485e4a
mov eax, dword fs:[0]
push eax
sub esp, 0x13c
mov eax, dword [0x4a3350]
xor eax, esp
mov dword [esp + 0x134], eax
push esi
push edi
mov eax, dword [0x4a3350]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
mov edi, ecx
xorps xmm0, xmm0
movdqa xmmword [esp + 0x44], xmm0
movq qword [esp + 0x54], xmm0
psrldq xmm0, 8
movd eax, xmm0
push 8
mov dword [esp + 0x54], 0
and eax, 0xfffffe06
mov dword [esp + 0x58], 0
or eax, 6
mov dword [esp + 0x5c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], eax
call fcn.00423553
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x150], 0
test esi, esi
je 0x40a291
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.00407960
mov dword [esi], eax
jmp 0x40a299
mov dword [esp + 0x24], 0
push ecx
lea eax, [esp + 0x38]
mov dword [esp + 0x154], 1
push eax
lea eax, [esp + 0x88]
mov ecx, edi
push eax
call fcn.0040d510
mov ecx, eax
call fcn.0040e6f0
mov ecx, dword [eax]
test ecx, ecx
jne 0x40a2ca
xor esi, esi
jmp 0x40a2cc
mov esi, dword [ecx]
mov edx, dword [eax + 8]
mov eax, edx
mov ecx, dword [esi + 8]
and edx, 3
shr eax, 2
dec ecx
and ecx, eax
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
mov esi, dword [eax + edx*4]
mov al, byte [esp + 0x4c]
mov edx, dword [esp + 0x1c]
movsx ecx, byte [esi + 8]
mov byte [esi + 8], al
mov eax, edx
xor eax, ecx
mov ecx, dword [esi]
and eax, 0xff
mov dword [esp + 0x44], ecx
xor edx, eax
mov eax, dword [esp + 0x24]
mov dword [esi], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov edx, dword [esi + 4]
mov dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], edx
xor eax, ecx
and eax, 0x100
mov edx, ecx
shr edx, 8
xor eax, ecx
and edx, 1
mov dword [esi + 8], eax
mov eax, dword [esp + 0x1c]
shl edx, 8
xor edx, eax
and edx, 0x100
xor eax, edx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x80]
push ecx
push eax
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
call fcn.0040d510
mov ecx, eax
call fcn.0040e6f0
mov esi, dword [eax]
test esi, esi
je 0x40a372
mov esi, dword [esi]
mov edx, dword [eax + 8]
mov eax, edx
mov ecx, dword [esi + 8]
and edx, 3
shr eax, 2
dec ecx
and ecx, eax
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
sub eax, dword [edi + 0x40]
mov dword [ecx + 0x10], eax
mov edx, dword [edi + 0x44]
cmp dword [edi + 0x48], edx
je 0x40a3bf
mov ecx, dword [edi + 0x48]
mov al, byte [ecx]
cmp al, 0x20
je 0x40a3b5
cmp al, 9
je 0x40a3b5
cmp al, 0xd
je 0x40a3b5
cmp al, 0xa
jne 0x40a3bf
lea eax, [ecx + 1]
mov dword [edi + 0x48], eax
cmp eax, edx
jne 0x40a3a0
mov eax, dword [edi + 0x48]
cmp eax, edx
je 0x40a3e4
cmp byte [eax], 0x5d
jne 0x40a3e4
lea eax, [esp + 0x80]
mov ecx, edi
push eax
call fcn.00409450
mov byte [esp + 0x1b], 1
jmp 0x40a5fb
mov dword [esp + 0x24], 0
lea esp, [esp]
push ecx
lea eax, [esp + 0x84]
mov ecx, edi
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0040d510
mov ecx, eax
call fcn.0040e6f0
mov esi, dword [eax]
test esi, esi
je 0x40a414
mov esi, dword [esi]
mov edx, dword [eax + 8]
mov eax, edx
mov ecx, dword [esi + 8]
and edx, 3
shr eax, 2
dec ecx
and ecx, eax
mov eax, dword [esi + 4]
mov esi, dword [esp + 0x24]
mov eax, dword [eax + ecx*4]
test esi, esi
js 0x40a638
mov ecx, dword [eax + edx*4]
push esi
call fcn.00403d70
mov ecx, dword [edi + 0xc]
inc esi
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x10]
add ecx, eax
mov dword [esp + 0x24], esi
test cl, 3
jne 0x40a469
add eax, 4
shr eax, 2
cmp dword [edi + 8], eax
ja 0x40a469
push ecx
mov ecx, edi
call fcn.0040d530
mov ecx, dword [edi + 8]
mov esi, dword [edi + 0x10]
lea eax, [ecx*4 - 1]
dec ecx
and dword [edi + 0xc], eax
add esi, dword [edi + 0xc]
mov eax, esi
shr eax, 2
and ecx, eax
mov eax, dword [edi + 4]
mov dword [esp + 0x1c], ecx
cmp dword [eax + ecx*4], 0
jne 0x40a4b1
push 0x10
call fcn.00423553
mov edx, eax
add esp, 4
test edx, edx
je 0x40a544
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x1c]
mov dword [ecx + eax*4], edx
mov ecx, eax
mov eax, dword [edi + 4]
and esi, 3
mov eax, dword [eax + ecx*4]
lea eax, [eax + esi*4]
test eax, eax
je 0x40a4c7
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
inc dword [edi + 0x10]
mov ecx, edi
call fcn.00408e50
dec dword [edi + 0x10]
jne 0x40a4dd
mov dword [edi + 0xc], 0
mov ecx, edi
test al, al
je 0x40a5f0
lea eax, [esp + 0x34]
push eax
call fcn.00409450
mov ecx, dword [esp + 0x34]
cmp ecx, 0xc
jne 0x40a519
lea ebx, [ebx]
test al, al
je 0x40a519
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.00409450
mov ecx, dword [esp + 0x34]
cmp ecx, 0xc
je 0x40a500
cmp ecx, 0xa
je 0x40a527
cmp ecx, 4
je 0x40a527
mov dl, 1
jmp 0x40a529
xor dl, dl
test al, al
je 0x40a549
test dl, dl
jne 0x40a549
cmp ecx, 4
jne 0x40a3f0
mov byte [esp + 0x1b], 1
jmp 0x40a5fb
call fcn.0041f624
push 0x27
push str.Missing___or___in_array_declaration
lea ecx, [esp + 0x70]
mov dword [esp + 0x84], 0xf
mov dword [esp + 0x80], 0
mov byte [esp + 0x70], 0
call fcn.00406980
push 0
lea eax, [esp + 0x38]
mov byte [esp + 0x154], 4
push eax
lea eax, [esp + 0x70]
mov ecx, edi
push eax
call fcn.0040b580
mov esi, dword [edi + 0x24]
lea eax, [esp + 0x34]
mov ecx, edi
push eax
call fcn.00409450
test al, al
jne 0x40a5ab
push esi
lea ecx, [edi + 0x14]
call fcn.0040ba40
mov eax, dword [esp + 0x34]
cmp eax, 4
je 0x40a5b8
test eax, eax
jne 0x40a592
push esi
lea ecx, [edi + 0x14]
call fcn.0040ba40
cmp dword [esp + 0x7c], 0x10
mov byte [esp + 0x1b], 0
jb 0x40a5d9
push dword [esp + 0x68]
call fcn.004235a4
add esp, 4
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
jmp 0x40a5fb
push 4
call fcn.0040b680
mov byte [esp + 0x1b], al
lea ecx, [esp + 0x44]
mov dword [esp + 0x150], 0xffffffff
call fcn.00402ea0
mov al, byte [esp + 0x1b]
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x134]
xor ecx, esp
call fcn.0042419e
mov esp, ebp
pop ebp
ret 4
push 0x98
lea eax, [esp + 0xa8]
push 0
push eax
call fcn.00424c50
add esp, 4
lea ecx, [esp + 0xac]
call fcn.00405c00
mov edx, str.in_Json::Value::operator___int_index_:_index_cannot_be_negative
mov byte [esp + 0x150], 2
lea ecx, [esp + 0xa4]
call fcn.00407ac0
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0xa8]
call fcn.00405d40
mov ecx, eax
mov byte [esp + 0x150], 3
call fcn.00402770
int3