Function at 0x4163d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x441e78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor esi, esi
mov eax, 0x40
push 0x100
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0x445388
call fcn.00427cde
add esp, 4
mov dword [esp + 0x34], eax
mov edx, dword [ebx + 0x4c]
mov ebp, dword [ebx + 0x48]
xor eax, eax
mov dword [esp + 0x48], esi
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x1c], edx
cmp ecx, esi
mov dword [esp + 0x14], ebp
jbe 0x41666b
mov dword [esp + 0x10], esi
jmp 0x41644b
mov edx, dword [esp + 0x1c]
lea esi, [eax + 1]
cmp esi, ecx
mov dword [esp + 0x20], esi
jbe 0x416469
push eax
push str.SSLifo0003e:_Invalid_index
push 0xb
mov ecx, edx
call fcn.0040f590
xor eax, eax
jmp 0x416472
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x10]
sub eax, ecx
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov edi, dword [ebp + ecx*4 + 0x14]
test byte [edi], 5
je 0x41655b
mov eax, dword [edi + 8]
xor ebx, ebx
test eax, eax
lea ebp, [edi + 0xc]
jbe 0x41655b
test byte [edi], 4
jne 0x4164a7
test dword [ebp], 0x80000000
je 0x41654c
mov edx, dword [ebp + 4]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x1c], edx
call fcn.00418fe0
test eax, eax
jne 0x41654c
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
jb 0x416534
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4164ea
push str.SSSetArray0001e:_Set_full
push 0x17
lea ecx, [esp + 0x34]
call fcn.0040f160
jmp 0x41654c
add eax, ecx
shl eax, 2
push eax
call fcn.00427cde
mov ecx, dword [esp + 0x3c]
mov esi, eax
add esp, 4
xor eax, eax
test ecx, ecx
jbe 0x416519
mov ecx, dword [esp + 0x34]
inc eax
mov edx, dword [ecx + eax*4 - 4]
mov dword [esi + eax*4 - 4], edx
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jb 0x416504
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
add ecx, edx
push eax
mov dword [esp + 0x3c], ecx
call fcn.00419190
add esp, 4
mov dword [esp + 0x34], esi
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 8]
inc ebx
add ebp, 8
cmp ebx, eax
jb 0x416495
test byte [edi], 2
je 0x416645
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
add ecx, edx
mov edx, dword [edi + ecx*8 + 0xc]
and edx, 0x7ffffff
xor ebp, ebp
lea eax, [edi + ecx*8 + 0xc]
mov eax, dword [esp + 0x14]
mov edi, dword [eax + edx*4 + 0x14]
mov eax, dword [edi + 8]
test eax, eax
jbe 0x416645
lea ebx, [edi + 0x10]
mov ecx, dword [ebx]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.00418fe0
test eax, eax
jne 0x416636
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp eax, ecx
jb 0x41661e
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4165d4
push str.SSSetArray0001e:_Set_full
push 0x17
lea ecx, [esp + 0x34]
call fcn.0040f160
jmp 0x416636
add eax, ecx
shl eax, 2
push eax
call fcn.00427cde
mov ecx, dword [esp + 0x3c]
mov esi, eax
add esp, 4
xor eax, eax
test ecx, ecx
jbe 0x416603
mov ecx, dword [esp + 0x34]
inc eax
mov edx, dword [ecx + eax*4 - 4]
mov dword [esi + eax*4 - 4], edx
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jb 0x4165ee
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
add ecx, edx
push eax
mov dword [esp + 0x3c], ecx
call fcn.00419190
add esp, 4
mov dword [esp + 0x34], esi
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
mov dword [edx + eax*4], ecx
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 8]
inc ebp
add ebx, 8
cmp ebp, eax
jb 0x416592
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
mov ecx, dword [ecx + 0xc]
add esi, 8
cmp eax, ecx
mov dword [esp + 0x10], esi
jb 0x416447
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x41667f
push str.SSYacc0105e:_Error_token_failed__no_valid_token
push 0x10
jmp 0x41688d
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
mov edx, ecx
jne 0x41668e
mov edx, dword [eax + 0x18]
xor eax, eax
test esi, esi
jbe 0x4166a4
mov ecx, dword [esp + 0x34]
cmp dword [ecx], edx
je 0x4166bb
inc eax
add ecx, 4
cmp eax, esi
jb 0x416698
push 0
mov ecx, ebx
call fcn.00415f40
test eax, eax
jne 0x416886
mov esi, dword [esp + 0x3c]
jmp 0x41667f
mov edi, 1
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp + eax*4 + 0x14]
test byte [esi], 2
je 0x416700
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jne 0x4166d9
mov ecx, dword [eax + 0x18]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
add edx, eax
push ecx
mov ecx, ebx
lea eax, [esi + edx*8 + 0xc]
mov eax, dword [esi + edx*8 + 0xc]
and eax, 0x7ffffff
push eax
call fcn.00416940
cmp dword [ebx + 0x50], edi
jne 0x416789
mov eax, dword [esi]
test al, 4
je 0x41673b
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x416714
mov eax, ecx
jmp 0x416717
mov eax, dword [eax + 0x18]
mov ecx, dword [ebx + 0x20]
push eax
push ecx
mov ecx, ebx
call fcn.00416940
cmp dword [ebx + 0x50], edi
jne 0x41685c
mov edi, 1
mov ecx, ebx
push edi
call fcn.00416c60
jmp 0x4166c0
test al, 1
je 0x41677c
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
mov edx, ecx
jne 0x41674e
mov edx, dword [eax + 0x18]
lea ecx, [esi + 0xc]
mov esi, dword [esi + 8]
xor eax, eax
test esi, esi
jbe 0x41677c
cmp dword [ecx + 4], edx
je 0x416774
inc eax
add ecx, 8
cmp eax, esi
jb 0x41675a
push edi
mov ecx, ebx
call fcn.00416c60
jmp 0x4166c0
test ecx, ecx
jne 0x41683f
push edi
mov ecx, ebx
call fcn.00416c60
jmp 0x4166c0
mov edi, str._error
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
lea edx, [edi + 0x32]
push edx
call fcn.00414b50
add esp, 4
test eax, eax
je 0x4167c3
push 0
push 0
push 0
push str._error
push 0xfffffffffffffffe
push edi
mov ecx, eax
call fcn.00412230
mov ebp, eax
jmp 0x4167c5
xor ebp, ebp
mov eax, dword [ebp]
push 0
mov ecx, ebp
call dword [eax + 8]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 8]
mov edi, eax
test edi, edi
je 0x4167e2
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov ecx, dword [ebx + 0x68]
test ecx, ecx
je 0x4167f0
mov edx, dword [ecx]
push 1
call dword [edx + 8]
mov dword [ebx + 0x68], edi
add edi, 0x10
test ebp, ebp
je 0x416801
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x41680f
mov edx, dword [ecx]
push 1
call dword [edx + 8]
mov dword [edi + 4], ebp
mov al, byte [esi]
test al, 2
jne 0x41681c
xor eax, eax
jmp 0x416828
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
add eax, ecx
lea eax, [esi + eax*8 + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebx + 0x68]
and ecx, 0x7ffffff
mov dword [edx + 0xc], ecx
mov ecx, ebx
call fcn.00416a90
jmp 0x41685c
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x41684d
mov eax, ecx
jmp 0x416850
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebx + 0x20]
push eax
mov ecx, ebx
call fcn.00416940
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], 0x445388
push ecx
call fcn.00419190
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
push str.SSYacc0106e:_Error_token_failed__eof
push 0x11
lea ecx, [ebx + 4]
call fcn.0040f160
mov edx, dword [esp + 0x34]
mov dword [esp + 0x28], 0x445388
push edx
call fcn.00419190
mov ecx, dword [esp + 0x44]
add esp, 4
mov eax, 1
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret