Function at 0x41ff70
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ecx, dword [ebp + 0xc]
mov eax, ecx
mov dword [ebp - 4], esi
mov dword [ebp - 8], edi
sub eax, 1
je 0x4208b2
sub eax, 1
je 0x420010
sub eax, 1
je 0x41ffb2
push ecx
push str.inter_accreg_fromsql:_Invalid_type__d_n
call fcn.00442810
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push 0x4accb4
push str.SELECT__key____index____value__FROM___s__WHERE__char_id__u
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x420089
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x41fff2
push 0x2a2
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu___self_is_NULL_n
jmp 0x420081
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x420009
mov byte [edx], 0
push dword [ecx]
push 0x2a2
jmp 0x42005e
push 0x2a2
jmp 0x420077
push edi
push 0x4acbb4
push str.SELECT__key____index____value__FROM___s__WHERE__account_id__u
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x420089
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x420049
push 0x2a6
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu___self_is_NULL_n
jmp 0x420081
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x420072
mov byte [edx], 0
push dword [ecx]
push 0x2a6
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x420089
push 0x2a6
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x4200c2
mov ecx, dword [ebx*4 + 0x4b5420]
mov eax, dword [ecx + 0x1c]
add eax, 0xeb8c
cmp eax, dword [ecx + 0x14]
jbe 0x4200c2
push str.inter_accreg_fromsql
push 0x2b0
push str.D:_ragnarokbr_rathena_srccharinter.cpp
mov edx, 0xeb8c
mov ecx, ebx
call fcn.00440270
add esp, 0xc
mov edx, dword [ebx*4 + 0x4b5420]
mov ebx, 0x3804
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov word [ecx + eax], bx
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov dword [ecx + eax + 4], edi
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov dword [ecx + eax + 8], esi
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov esi, dword [ebp - 0x14]
mov byte [ecx + eax + 0xc], 0
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov byte [ecx + eax + 0xd], 1
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
xor edx, edx
mov word [ecx + eax + 0xe], dx
lea ebx, [edx + 0x10]
nop word [eax + eax]
mov edi, dword [0x4ad1b4]
test edi, edi
je 0x4203d0
mov eax, dword [edi + 0x3e0]
test eax, eax
je 0x4203d0
push eax
call dword [sym.imp.libmysql.dll_mysql_fetch_row]
mov dword [edi + 0x3e4], eax
test eax, eax
je 0x4203bc
push dword [edi + 0x3e0]
call dword [sym.imp.libmysql.dll_mysql_fetch_lengths]
mov dword [edi + 0x3e8], eax
mov edi, dword [0x4ad1b4]
test edi, edi
je 0x420197
cmp dword [edi + 0x3e4], 0
je 0x420197
mov eax, dword [edi + 0x3e0]
test eax, eax
je 0x420195
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
test eax, eax
je 0x420195
mov eax, dword [edi + 0x3e4]
mov esi, dword [eax]
jmp 0x420197
xor esi, esi
mov eax, esi
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4201a0
sub eax, edx
lea ecx, [eax + 1]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov edi, dword [ecx*4 + 0x4b5420]
mov ecx, dword [edi + 0x1c]
add ecx, dword [edi + 0xc]
mov byte [ecx + ebx], dl
inc ebx
test edx, edx
je 0x420201
mov edx, dword [edi + 0xc]
add edx, dword [edi + 0x1c]
add edx, ebx
mov byte [edx + eax], 0
test eax, eax
je 0x420201
mov edi, esi
sub edi, edx
nop
mov cl, byte [edi + edx]
dec eax
mov byte [edx], cl
inc edx
test cl, cl
je 0x4201f1
test eax, eax
jne 0x4201e0
jmp 0x420201
test eax, eax
je 0x420201
push eax
push 0
push edx
call fcn.00461440
add esp, 0xc
add ebx, dword [ebp - 0xc]
mov edi, dword [0x4ad1b4]
test edi, edi
je 0x42023a
cmp dword [edi + 0x3e4], 0
je 0x42023a
mov eax, dword [edi + 0x3e0]
test eax, eax
je 0x420238
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
cmp eax, 1
jbe 0x420238
mov eax, dword [edi + 0x3e4]
mov esi, dword [eax + 4]
jmp 0x42023a
xor esi, esi
push esi
call fcn.0046d2ec
mov ecx, dword [ebp + 8]
add esp, 4
mov edx, dword [ecx*4 + 0x4b5420]
mov edi, edx
mov ecx, dword [edx + 0x1c]
add ecx, dword [edx + 0xc]
mov dword [ecx + ebx], eax
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x42029d
cmp dword [eax + 0x3e4], 0
je 0x42029d
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42029b
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
mov ecx, dword [ebp + 8]
mov edi, dword [ecx*4 + 0x4b5420]
cmp eax, 2
jbe 0x42029b
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 8]
jmp 0x42029d
xor esi, esi
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4202a2
sub ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 0xc]
add eax, dword [edi + 0x1c]
mov edx, dword [ebp - 0xc]
mov byte [eax + ebx + 4], dl
add ebx, 5
test edx, edx
je 0x420304
mov edx, dword [edi + 0xc]
add edx, dword [edi + 0x1c]
add edx, ebx
mov byte [edx + ecx], 0
test ecx, ecx
je 0x420304
mov eax, esi
sub eax, edx
mov dword [ebp - 0x10], eax
nop dword [eax]
mov al, byte [eax + edx]
dec ecx
mov byte [edx], al
inc edx
test al, al
je 0x4202f4
mov eax, dword [ebp - 0x10]
test ecx, ecx
jne 0x4202e0
jmp 0x420304
test ecx, ecx
je 0x420304
push ecx
push 0
push edx
call fcn.00461440
add esp, 0xc
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x1c]
add ebx, dword [ebp - 0xc]
inc word [ecx + eax + 0xe]
cmp ebx, 0xea60
jbe 0x420120
mov ecx, dword [edi + 0xc]
mov edx, ebx
mov eax, dword [edi + 0x1c]
mov word [ecx + eax + 2], bx
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.004403f0
test ebx, ebx
je 0x42036b
mov ecx, dword [ebx*4 + 0x4b5420]
mov eax, dword [ecx + 0x1c]
add eax, 0xeb8c
cmp eax, dword [ecx + 0x14]
jbe 0x42036b
push str.inter_accreg_fromsql
push 0x2df
push str.D:_ragnarokbr_rathena_srccharinter.cpp
mov edx, 0xeb8c
mov ecx, ebx
call fcn.00440270
add esp, 0xc
mov edx, dword [ebx*4 + 0x4b5420]
mov ebx, 0x3804
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov word [ecx + eax], bx
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 8]
mov dword [ecx + eax + 4], ebx
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 4]
mov dword [ecx + eax + 8], ebx
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov byte [ecx + eax + 0xc], 0
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov byte [ecx + eax + 0xd], 1
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
jmp 0x42010b
lea eax, [edi + 0x10]
mov dword [edi + 0x3e8], 0
push eax
call dword [sym.imp.libmysql.dll_mysql_errno]
mov edi, dword [ebp + 8]
mov edx, ebx
mov eax, dword [edi*4 + 0x4b5420]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0xc]
mov word [ecx + eax + 2], bx
mov ecx, edi
call fcn.004403f0
mov ebx, dword [0x4ad1b4]
test ebx, ebx
je 0x420427
mov eax, dword [ebx + 0x3e0]
test eax, eax
je 0x420427
push eax
call dword [sym.imp.libmysql.dll_mysql_free_result]
mov dword [ebx + 0x3e0], 0
mov dword [ebx + 0x3e4], 0
mov dword [ebx + 0x3e8], 0
mov eax, dword [ebp + 0xc]
sub eax, 2
je 0x4204cf
mov ebx, dword [ebp - 4]
sub eax, 1
jne 0x42054d
push ebx
push 0x4acdb4
push str.SELECT__key____index____value__FROM___s__WHERE__char_id__u
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x42054d
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x420487
push 0x2f3
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu___self_is_NULL_n
call fcn.004427f0
add esp, 0xc
jmp 0x42054d
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x4204b3
mov byte [edx], 0
push dword [ecx]
push 0x2f3
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x42054d
push 0x2f3
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
jmp 0x42054d
push dword [ebp - 8]
push 0x4acab4
push str.SELECT__key____index____value__FROM___s__WHERE__account_id__u
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x42054a
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x42050a
push 0x2f7
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu___self_is_NULL_n
jmp 0x420542
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x420533
mov byte [edx], 0
push dword [ecx]
push 0x2f7
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x42054a
push 0x2f7
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
mov ebx, dword [ebp - 4]
test edi, edi
je 0x420583
mov ecx, dword [edi*4 + 0x4b5420]
mov eax, dword [ecx + 0x1c]
add eax, 0xeb8c
cmp eax, dword [ecx + 0x14]
jbe 0x420583
push str.inter_accreg_fromsql
push 0x300
push str.D:_ragnarokbr_rathena_srccharinter.cpp
mov edx, 0xeb8c
mov ecx, edi
call fcn.00440270
add esp, 0xc
mov edx, dword [edi*4 + 0x4b5420]
mov edi, 0x3804
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov word [ecx + eax], di
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov edi, dword [ebp - 8]
mov dword [ecx + eax + 4], edi
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov dword [ecx + eax + 8], ebx
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov byte [ecx + eax + 0xc], 0
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov byte [ecx + eax + 0xd], 0
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
xor edx, edx
mov word [ecx + eax + 0xe], dx
lea edi, [edx + 0x10]
nop word [eax + eax]
mov ebx, dword [0x4ad1b4]
test ebx, ebx
je 0x420844
mov eax, dword [ebx + 0x3e0]
test eax, eax
je 0x420844
push eax
call dword [sym.imp.libmysql.dll_mysql_fetch_row]
mov dword [ebx + 0x3e4], eax
test eax, eax
je 0x420830
push dword [ebx + 0x3e0]
call dword [sym.imp.libmysql.dll_mysql_fetch_lengths]
mov dword [ebx + 0x3e8], eax
mov ebx, dword [0x4ad1b4]
test ebx, ebx
je 0x420657
cmp dword [ebx + 0x3e4], 0
je 0x420657
mov eax, dword [ebx + 0x3e0]
test eax, eax
je 0x420655
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
test eax, eax
je 0x420655
mov eax, dword [ebx + 0x3e4]
mov esi, dword [eax]
jmp 0x420657
xor esi, esi
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x420660
sub ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax*4 + 0x4b5420]
mov eax, dword [ebx + 0x1c]
add eax, dword [ebx + 0xc]
mov byte [eax + edi], dl
inc edi
test edx, edx
je 0x4206c1
mov edx, dword [ebx + 0x1c]
add edx, dword [ebx + 0xc]
add edx, edi
mov byte [edx + ecx], 0
test ecx, ecx
je 0x4206c1
mov ebx, esi
sub ebx, edx
nop
mov al, byte [ebx + edx]
dec ecx
mov byte [edx], al
inc edx
test al, al
je 0x4206b1
test ecx, ecx
jne 0x4206a0
jmp 0x4206c1
test ecx, ecx
je 0x4206c1
push ecx
push 0
push edx
call fcn.00461440
add esp, 0xc
add edi, dword [ebp - 0xc]
mov ebx, dword [0x4ad1b4]
test ebx, ebx
je 0x4206fa
cmp dword [ebx + 0x3e4], 0
je 0x4206fa
mov eax, dword [ebx + 0x3e0]
test eax, eax
je 0x4206f8
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
cmp eax, 1
jbe 0x4206f8
mov eax, dword [ebx + 0x3e4]
mov esi, dword [eax + 4]
jmp 0x4206fa
xor esi, esi
push esi
call fcn.0046d2ec
mov ecx, dword [ebp + 8]
add esp, 4
mov ebx, dword [0x4ad1b4]
mov ecx, dword [ecx*4 + 0x4b5420]
mov edx, dword [ecx + 0x1c]
add edx, dword [ecx + 0xc]
mov dword [edx + edi], eax
test ebx, ebx
je 0x42074c
cmp dword [ebx + 0x3e4], 0
je 0x42074c
mov eax, dword [ebx + 0x3e0]
test eax, eax
je 0x42074a
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
cmp eax, 2
jbe 0x42074a
mov eax, dword [ebx + 0x3e4]
mov esi, dword [eax + 8]
jmp 0x42074c
xor esi, esi
push 0xa
push 0
push esi
call fcn.0046a545
mov ebx, dword [ebp + 8]
add esp, 0xc
mov ecx, dword [ebx*4 + 0x4b5420]
mov dword [ebp - 0xc], ecx
mov ebx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [ebx + 0xc]
mov dword [ecx + edi + 4], eax
mov dword [ecx + edi + 8], edx
mov edx, ebx
mov ebx, dword [ebp + 8]
add edi, 0xc
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
inc word [ecx + eax + 0xe]
cmp edi, 0xea60
jbe 0x4205e0
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov edx, edi
mov word [ecx + eax + 2], di
mov ecx, ebx
call fcn.004403f0
test ebx, ebx
je 0x4207df
mov ecx, dword [ebx*4 + 0x4b5420]
mov eax, dword [ecx + 0x1c]
add eax, 0xeb8c
cmp eax, dword [ecx + 0x14]
jbe 0x4207df
push str.inter_accreg_fromsql
push 0x32b
push str.D:_ragnarokbr_rathena_srccharinter.cpp
mov edx, 0xeb8c
mov ecx, ebx
call fcn.00440270
add esp, 0xc
mov edx, dword [ebx*4 + 0x4b5420]
mov ebx, 0x3804
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov word [ecx + eax], bx
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 8]
mov dword [ecx + eax + 4], ebx
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 4]
mov dword [ecx + eax + 8], ebx
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov byte [ecx + eax + 0xc], 0
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
mov byte [ecx + eax + 0xd], 0
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0xc]
jmp 0x4205cc
lea eax, [ebx + 0x10]
mov dword [ebx + 0x3e8], 0
push eax
call dword [sym.imp.libmysql.dll_mysql_errno]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov esi, dword [ecx*4 + 0x4b5420]
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0xc]
mov byte [edx + eax + 0xc], bl
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0xc]
mov word [edx + eax + 2], di
mov edx, edi
call fcn.004403f0
mov esi, dword [0x4ad1b4]
test esi, esi
je 0x4208a6
mov eax, dword [esi + 0x3e0]
test eax, eax
je 0x4208a6
push eax
call dword [sym.imp.libmysql.dll_mysql_free_result]
mov dword [esi + 0x3e0], 0
mov dword [esi + 0x3e4], 0
mov dword [esi + 0x3e8], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.inter_accreg_fromsql:_Char_server_shouldnt_handle_type_1_registry_values___._That_is_the_login_servers_job__n
call fcn.00442810
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret