Function at 0x474f50
Capabilities:
Access peb ldr_data

Disassembly:
sub esp, 0x1c
push ebx
mov ebx, dword [esp + 0x24]
mov eax, dword [ebx]
push ebp
push esi
push edi
mov ecx, ebx
call dword [eax + 0x20]
cmp eax, 0xc
mov edx, dword [ebx]
mov ecx, ebx
jne 0x4750ba
call dword [edx + 0x98]
mov edi, eax
mov eax, dword [esp + 0x34]
sub edi, 0xd
lea ecx, [ebx + 0x48]
neg edi
mov dword [eax], 0
mov esi, dword [ecx]
mov ebp, dword [esi + 4]
sbb edi, edi
inc edi
test ebp, ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], esi
je 0x47505c
lea ecx, [esp + 0x14]
push ecx
push ebp
call fcn.00474f50
add esp, 8
test eax, eax
jne 0x474fcf
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
push esi
call fcn.004753c0
jmp 0x474fe2
cmp ebp, eax
je 0x474fde
mov dword [esi + 4], eax
mov dword [esp + 0x10], 1
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
cmp dword [ecx], 0
mov eax, dword [esp + 0x14]
jne 0x474ff1
mov dword [ecx], eax
dec eax
je 0x47500e
dec eax
je 0x475004
dec eax
jne 0x47501d
test edi, edi
jne 0x47509a
jmp 0x47501d
test edi, edi
je 0x4750aa
jmp 0x47501d
test edi, edi
jne 0x475017
cmp dword [ecx], 3
jne 0x47501d
mov dword [ecx], 1
mov dword [esp + 0x24], esi
mov esi, dword [esi]
mov ebp, dword [esi + 4]
test ebp, ebp
mov dword [esp + 0x20], esi
jne 0x474fad
mov eax, dword [esp + 0x10]
test eax, eax
je 0x475058
mov ecx, dword fs:[0x2c]
mov eax, dword [0x631650]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebx]
push ebp
push ecx
mov ecx, ebx
call dword [edx + 4]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x4753ab
mov edx, dword [esp + 0x34]
cmp dword [edx], 1
jne 0x4753ab
cmp eax, 1
jne 0x47525d
mov eax, dword [ecx]
mov eax, dword [eax + 4]
pop edi
pop esi
pop ebp
mov dword [ecx + 8], 0
mov dword [ecx], 0x628858
mov dword [ecx + 4], ecx
pop ebx
add esp, 0x1c
ret
pop edi
pop esi
pop ebp
mov dword [ecx], 3
xor eax, eax
pop ebx
add esp, 0x1c
ret
pop edi
pop esi
pop ebp
mov dword [ecx], 2
xor eax, eax
pop ebx
add esp, 0x1c
ret
call dword [edx + 0x20]
cmp eax, 1
jne 0x475336
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x98]
cmp eax, 0xb
jne 0x475336
mov esi, dword [ebx + 0x2c]
mov ecx, dword [0x631650]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [esi]
mov edx, dword [ecx]
mov edi, dword [eax + 0xc]
mov dword [esp + 0x30], esi
call dword [edx + 0x20]
test eax, eax
jne 0x47525d
mov eax, dword [esi]
mov esi, dword [eax + 0x34]
test byte [esi + 0x31], 2
je 0x475271
mov ecx, dword [esi + 0xc]
mov al, byte [ecx + 0x10e]
test al, al
jne 0x475271
mov eax, dword [edi + 0x79c]
test ah, 0x80
je 0x475271
mov eax, dword [edi + 0x810]
xor ebp, ebp
cmp eax, ebp
jne 0x475162
mov edx, dword [edi + 0x760]
mov eax, dword [edi + 0x764]
mov dword [edi + 0x768], edx
mov dword [edi + 0x810], 1
mov dword [edi + 0x76c], eax
mov ecx, dword [edi + 0x760]
or ecx, dword [edi + 0x764]
je 0x475273
lea edx, [edi + 0xc]
push edx
call fcn.00459de0
push 0x6c
call fcn.004965e0
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x475247
push 0x30
call fcn.004965e0
mov ebp, eax
xor ebx, ebx
add esp, 4
cmp ebp, ebx
je 0x47520d
cmp dword [edi + 0x810], ebx
jne 0x4751cd
mov eax, dword [edi + 0x760]
mov ecx, dword [edi + 0x764]
mov dword [edi + 0x768], eax
mov dword [edi + 0x810], 1
mov dword [edi + 0x76c], ecx
mov edx, dword [edi + 0x760]
mov eax, dword [edi + 0x764]
mov ecx, ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
call fcn.00418770
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0x2c], edx
mov dword [ebp], 0x5ac128
mov dword [ebp + 0x1c], 0x15
mov dword [ebp + 0x14], str.last_insert_id__
jmp 0x47520f
xor ebp, ebp
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push ebp
push ecx
mov ecx, esi
call fcn.004753e0
lea ecx, [esi + 0x58]
mov dword [esi + 0x48], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x54], ebx
call fcn.0041a1e0
push 0
push edi
mov ecx, esi
mov dword [esi], 0x5b0788
mov ebx, esi
call dword [0x5b078c]
xor ebp, ebp
mov dword [edi + 0x760], ebp
mov dword [edi + 0x764], ebp
mov dword [edi + 0x814], 1
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov eax, ebx
mov dword [ecx], 1
pop ebx
add esp, 0x1c
ret
xor ebp, ebp
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x4c]
cmp eax, 0xa
je 0x47528b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x4c]
cmp eax, 0xc
jne 0x47525d
test byte [esi + 0x30], 1
je 0x47525d
mov ecx, dword [esi + 0xc]
mov al, byte [ecx + 0x10e]
test al, al
jne 0x47525d
push 0x6c
call fcn.004965e0
mov esi, eax
add esp, 4
cmp esi, ebp
je 0x47525d
push 0x30
call fcn.004965e0
mov ebx, eax
add esp, 4
cmp ebx, ebp
je 0x4752e1
mov ecx, ebx
call fcn.00418770
mov dword [ebx + 0x28], ebp
mov dword [ebx + 0x2c], ebp
mov dword [ebx], 0x5ac128
mov dword [ebx + 0x1c], 2
mov dword [ebx + 0x14], 0x5d9a04
jmp 0x4752e3
xor ebx, ebx
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
push ebx
push eax
mov ecx, esi
call fcn.004594c0
mov dword [esi + 0x1c], 0x15
mov dword [esi + 0x48], ebp
mov dword [esi + 0x50], ebp
mov dword [esi + 0x4c], ebp
mov dword [esi + 0x54], ebp
mov dword [esi + 0x58], ebp
mov dword [esi + 0x60], ebp
mov dword [esi + 0x5c], ebp
mov dword [esi + 0x64], ebp
push ebp
mov dword [esi], 0x5b0788
mov edx, dword [esi]
push edi
mov ecx, esi
mov ebx, esi
call dword [edx + 4]
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov eax, ebx
mov dword [ecx], 1
pop ebx
add esp, 0x1c
ret
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x5c]
test eax, eax
je 0x475361
push ebx
call fcn.00420b50
mov ecx, dword [esp + 0x38]
add esp, 4
neg eax
pop edi
sbb eax, eax
pop esi
add eax, 3
pop ebp
mov dword [ecx], eax
xor eax, eax
pop ebx
add esp, 0x1c
ret
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x58]
cmp eax, 1
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
je 0x47525d
mov eax, dword [ebx + 0x2c]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi]
push 1
push eax
mov ecx, esi
call dword [edx + 0x18]
test eax, eax
je 0x47525d
mov al, byte [esi + 0x22]
test al, al
je 0x4753ab
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x98]
cmp eax, 2
jne 0x47525d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret