Function at 0x40a1b0
Capabilities:
Access peb ldr_data
Get ntdll base address
Reference sql statements

Disassembly:
push 0xffffffffffffffff
push 0x44e968
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push esi
call fcn.0042e854
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 8], eax
push str.SELECT__roomcode__FROM__basic_
mov ecx, 0x46ba28
mov dword [esp + 0x30], 0
call fcn.00404300
push eax
lea ecx, [esp + 0x10]
call fcn.00404380
push 0x451ab9
push str.roomcode
lea ecx, [esp + 0x14]
mov byte [esp + 0x34], 1
call fcn.004041f0
push eax
lea ecx, [esp + 8]
call fcn.00402110
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 4]
push eax
push ecx
lea edx, [esp + 0x10]
push str.SELECT__FROM__client__WHERE_CONCAT__s__code_____s_LIMIT_1
push edx
mov byte [esp + 0x3c], 2
call fcn.004018c0
mov esi, dword [esp + 0x18]
add esp, 0x10
push esi
mov ecx, 0x46ba28
call fcn.00404300
push eax
lea ecx, [esp + 0x10]
call fcn.004040a0
lea ecx, [esp + 0xc]
call fcn.00404260
test al, al
je 0x40a2cd
mov eax, dword [esp + 4]
add eax, 0xfffffff0
mov byte [esp + 0x2c], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40a289
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0xc]
mov byte [esp + 0x2c], 0
call fcn.004043a0
lea eax, [esi - 0x10]
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40a2b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
xor eax, eax
pop esi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
add esp, 0x2c
ret 4
push 0x30
call fcn.0042e824
add esp, 4
test eax, eax
je 0x40a2e6
mov ecx, eax
call fcn.00407020
mov esi, eax
jmp 0x40a2e8
xor esi, esi
push ebp
push edi
push 0
push str.client_id
lea ecx, [esp + 0x1c]
call fcn.004043c0
push 0x451ab9
push str.name
lea ecx, [esp + 0x1c]
mov dword [esi], eax
call fcn.004041f0
test eax, eax
lea edi, [esi + 4]
jne 0x40a31a
xor edx, edx
jmp 0x40a329
mov edx, eax
lea ebp, [edx + 1]
nop
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40a320
sub edx, ebp
push edx
push eax
mov ecx, edi
call fcn.00401730
push 0x451ab9
push str.addr
lea ecx, [esp + 0x1c]
call fcn.004041f0
test eax, eax
lea edi, [esi + 8]
jne 0x40a350
xor edx, edx
jmp 0x40a35e
mov edx, eax
lea ebp, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40a355
sub edx, ebp
push edx
push eax
mov ecx, edi
call fcn.00401730
push 0x451ab9
push str.code
lea ecx, [esp + 0x1c]
call fcn.004041f0
test eax, eax
lea edi, [esi + 0xc]
jne 0x40a385
xor edx, edx
jmp 0x40a399
mov edx, eax
lea ebp, [edx + 1]
lea ebx, [ebx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40a390
sub edx, ebp
push edx
push eax
mov ecx, edi
call fcn.00401730
push 0x451ab9
push str.memo
lea ecx, [esp + 0x1c]
call fcn.004041f0
test eax, eax
lea edi, [esi + 0x10]
jne 0x40a3c0
xor edx, edx
jmp 0x40a3ce
mov edx, eax
lea ebp, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40a3c5
sub edx, ebp
push edx
push eax
mov ecx, edi
call fcn.00401730
push 0
push str.status
lea ecx, [esp + 0x1c]
call fcn.004043c0
push 0x451ab9
push str.create_time
lea ecx, [esp + 0x1c]
mov dword [esi + 0x14], eax
call fcn.004041f0
test eax, eax
lea edi, [esi + 0x18]
jne 0x40a408
xor edx, edx
jmp 0x40a419
mov edx, eax
lea ebp, [edx + 1]
lea ecx, [ecx]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40a410
sub edx, ebp
push edx
push eax
mov ecx, edi
call fcn.00401730
push 0x451ab9
push str.update_time
lea ecx, [esp + 0x1c]
call fcn.004041f0
test eax, eax
lea edi, [esi + 0x1c]
jne 0x40a440
xor edx, edx
jmp 0x40a44e
mov edx, eax
lea ebp, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40a445
sub edx, ebp
push edx
push eax
mov ecx, edi
call fcn.00401730
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x34], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
pop edi
pop ebp
jg 0x40a47c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0xc]
mov byte [esp + 0x2c], 0
call fcn.004043a0
mov eax, dword [esp + 8]
add eax, 0xfffffff0
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40a4b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x24]
mov eax, esi
pop esi
mov dword fs:[0], ecx
add esp, 0x2c
ret 4