Function at 0x435c70
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x494
mov eax, dword [0x4a701c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov edx, 0x408
push esi
push edi
mov eax, dword [ebx*4 + 0x4b5420]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 8]
cmp word [ecx + eax + 2], dx
jne 0x4361bc
lea esi, [eax + 8]
add esi, ecx
lea edi, [ebp - 0x438]
mov ecx, 0x100
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x418]
test eax, eax
je 0x435ede
push eax
push 0x4aaab4
push str.SELECT__char_id____name__FROM___s__WHERE__char_id____u
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x435d79
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x435d19
push 0x26d
push str.D:_ragnarokbr_rathena_srccharint_mail.cpp
push str.at__s:_lu___self_is_NULL_n
call fcn.004427f0
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045f6f1
mov esp, ebp
pop ebp
ret
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x435d51
mov byte [edx], 0
push dword [ecx]
push 0x26d
push str.D:_ragnarokbr_rathena_srccharint_mail.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045f6f1
mov esp, ebp
pop ebp
ret
push 0x26d
push str.D:_ragnarokbr_rathena_srccharint_mail.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045f6f1
mov esp, ebp
pop ebp
ret
mov esi, dword [0x4ad1b4]
mov dword [ebp - 0x418], 0
mov byte [ebp - 0x414], 0
test esi, esi
je 0x435e9d
mov eax, dword [esi + 0x3e0]
test eax, eax
je 0x435e9d
push eax
call dword [sym.imp.libmysql.dll_mysql_fetch_row]
mov dword [esi + 0x3e4], eax
test eax, eax
je 0x435e89
push dword [esi + 0x3e0]
call dword [sym.imp.libmysql.dll_mysql_fetch_lengths]
mov dword [esi + 0x3e8], eax
mov esi, dword [0x4ad1b4]
test esi, esi
je 0x435e03
cmp dword [esi + 0x3e4], 0
je 0x435e03
mov eax, dword [esi + 0x3e0]
test eax, eax
je 0x435dff
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
test eax, eax
je 0x435dff
mov eax, dword [esi + 0x3e4]
mov esi, dword [eax]
jmp 0x435e09
xor esi, esi
jmp 0x435e09
mov esi, dword [ebp - 0x43c]
push esi
call fcn.0046d2ec
mov edi, dword [0x4ad1b4]
add esp, 4
mov dword [ebp - 0x418], eax
test edi, edi
je 0x435e4e
cmp dword [edi + 0x3e4], 0
je 0x435e4e
mov eax, dword [edi + 0x3e0]
test eax, eax
je 0x435e4c
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
cmp eax, 1
jbe 0x435e4c
mov eax, dword [edi + 0x3e4]
mov esi, dword [eax + 4]
jmp 0x435e4e
xor esi, esi
lea ecx, [ebp - 0x414]
mov byte [ebp - 0x3fd], 0
mov edi, esi
mov eax, ecx
mov edx, 0x17
sub edi, eax
mov al, byte [edi + ecx]
dec edx
mov byte [ecx], al
inc ecx
test al, al
je 0x435e77
test edx, edx
jne 0x435e66
jmp 0x435ea3
test edx, edx
je 0x435ea3
push edx
push 0
push ecx
call fcn.00461440
add esp, 0xc
jmp 0x435ea3
lea eax, [esi + 0x10]
mov dword [esi + 0x3e8], 0
push eax
call dword [sym.imp.libmysql.dll_mysql_errno]
mov esi, dword [ebp - 0x43c]
mov edi, dword [0x4ad1b4]
test edi, edi
je 0x435ee4
mov eax, dword [edi + 0x3e0]
test eax, eax
je 0x435ee4
push eax
call dword [sym.imp.libmysql.dll_mysql_free_result]
mov dword [edi + 0x3e0], 0
mov dword [edi + 0x3e4], 0
mov dword [edi + 0x3e8], 0
jmp 0x435ee4
mov esi, dword [ebp - 0x43c]
lea eax, [ebp - 0x414]
push 0x18
push eax
call fcn.0046d32b
mov ecx, dword [0x4ad1b4]
add esp, 8
push eax
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x38]
push eax
test ecx, ecx
je 0x435f17
lea eax, [ecx + 0x10]
push eax
call dword [sym.imp.libmysql.dll_mysql_real_escape_string]
jmp 0x435f1d
call dword [sym.imp.libmysql.dll_mysql_escape_string]
lea eax, [ebp - 0x38]
push eax
push 0x4aaab4
push str.SELECT__account_id____char_id__FROM___s__WHERE__name____s
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x435fac
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x435f64
push 0x281
push str.D:_ragnarokbr_rathena_srccharint_mail.cpp
push str.at__s:_lu___self_is_NULL_n
call fcn.004427f0
add esp, 0xc
jmp 0x436055
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x435f90
mov byte [edx], 0
push dword [ecx]
push 0x281
push str.D:_ragnarokbr_rathena_srccharint_mail.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x436055
push 0x281
push str.D:_ragnarokbr_rathena_srccharint_mail.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
jmp 0x436055
mov edi, dword [0x4ad1b4]
test edi, edi
je 0x436055
mov eax, dword [edi + 0x3e0]
test eax, eax
je 0x436055
push eax
call dword [sym.imp.libmysql.dll_mysql_fetch_row]
mov dword [edi + 0x3e4], eax
test eax, eax
je 0x436041
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 0x436030
cmp dword [edi + 0x3e4], 0
je 0x436030
mov eax, dword [edi + 0x3e0]
test eax, eax
je 0x43602e
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
cmp eax, 1
jbe 0x43602e
mov eax, dword [edi + 0x3e4]
mov esi, dword [eax + 4]
push esi
call fcn.0046d2ec
add esp, 4
mov dword [ebp - 0x418], eax
jmp 0x436055
xor esi, esi
push esi
call fcn.0046d2ec
add esp, 4
mov dword [ebp - 0x418], eax
jmp 0x436055
lea eax, [edi + 0x10]
mov dword [edi + 0x3e8], 0
push eax
call dword [sym.imp.libmysql.dll_mysql_errno]
mov esi, dword [0x4ad1b4]
test esi, esi
je 0x43608e
mov eax, dword [esi + 0x3e0]
test eax, eax
je 0x43608e
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
cmp dword [ebp - 0x418], 0
mov dword [ebp - 0x1d0], 0
jbe 0x4360b2
lea ecx, [ebp - 0x438]
call fcn.00433920
mov dword [ebp - 0x438], eax
mov edx, 0x404
test ebx, ebx
je 0x4360e5
mov ecx, dword [ebx*4 + 0x4b5420]
mov eax, dword [ecx + 0x1c]
add eax, edx
cmp eax, dword [ecx + 0x14]
jbe 0x4360e5
push str.mapif_Mail_send
push 0x258
push str.D:_ragnarokbr_rathena_srccharint_mail.cpp
mov ecx, ebx
call fcn.00440270
add esp, 0xc
mov edi, dword [ebx*4 + 0x4b5420]
mov edx, 0x384d
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0xc]
mov word [ecx + eax], dx
mov edx, 0x404
mov esi, dword [edi + 0xc]
mov ecx, 0x100
mov eax, dword [edi + 0x1c]
mov word [esi + eax + 2], dx
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 0x1c]
add esi, 4
add edi, esi
lea esi, [ebp - 0x438]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.004403f0
mov ecx, dword [ebp - 0x438]
test ecx, ecx
je 0x4361bc
movups xmm0, xmmword [ebp - 0x430]
mov eax, 0x3849
mov dword [ebp - 0x48a], ecx
mov word [ebp - 0x490], ax
lea ecx, [ebp - 0x490]
mov eax, dword [ebp - 0x418]
mov edx, 0x4b
movups xmmword [ebp - 0x486], xmm0
mov dword [ebp - 0x48e], eax
movq xmm0, qword [ebp - 0x420]
mov al, byte [ebp - 0x1e0]
movq qword [ebp - 0x476], xmm0
movups xmm0, xmmword [ebp - 0x3fc]
mov byte [ebp - 0x446], al
movups xmmword [ebp - 0x46e], xmm0
movups xmm0, xmmword [ebp - 0x3ec]
movups xmmword [ebp - 0x45e], xmm0
movq xmm0, qword [ebp - 0x3dc]
movq qword [ebp - 0x44e], xmm0
call fcn.004190a0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045f6f1
mov esp, ebp
pop ebp
ret