Function at 0x417d30
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x487d3d
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x4a701c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [edi*4 + 0x4b5420]
test byte [esi], 1
jne 0x418221
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
sub edx, ecx
cmp edx, 7
jb 0x418221
mov eax, dword [esi + 8]
mov ebx, dword [eax + ecx + 2]
mov dword [ebp - 0x14], ebx
mov bl, byte [eax + ecx + 6]
mov ecx, 7
movzx eax, bl
mov dword [ebp - 0x24], eax
lea eax, [edi - 1]
mov byte [ebp - 0xd], bl
cmp eax, 0xffe
ja 0x417dd4
mov eax, dword [esi + 0x20]
add eax, ecx
cmp dword [esi + 0x18], eax
jae 0x417dd1
push edi
push edx
push ecx
push str.RFIFOSKIP:_skipped_past_end_of_read_buffer__Adjusting_from__u_to__d__session__d__n
call fcn.00442810
mov eax, dword [edi*4 + 0x4b5420]
add esp, 0x10
test byte [eax], 1
je 0x417dcb
xor ecx, ecx
jmp 0x417dd1
mov ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x20]
add dword [esi + 0x20], ecx
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x4181ee
push edi
mov edx, 0x4cf720
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
call fcn.0040ff20
add esp, 4
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x417e19
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x14], ecx
call fcn.0043df80
push edi
push 0x4aaab4
mov esi, eax
push str.SELECT__char_id____class____guild_id__FROM___s__WHERE__account_id____d
push esi
call fcn.0043e040
add esp, 0x10
cmp eax, 0xffffffff
je 0x417e44
mov ecx, esi
call fcn.0043e300
test eax, eax
je 0x417ea0
test esi, esi
jne 0x417e59
push 0x1c0
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu____self_is_NULL_n
jmp 0x417e91
mov ecx, dword [esi + 4]
mov eax, ecx
sub eax, dword [esi]
test eax, eax
jle 0x417e82
mov byte [ecx], 0
push dword [esi]
push 0x1c0
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x417e99
push 0x1c0
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
mov ecx, esi
call fcn.0043e860
sub esp, 8
lea eax, [ebp - 0x20]
xor edx, edx
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0xc
lea eax, [ebp - 0x1c]
mov edx, 1
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0xc
lea eax, [ebp - 0x18]
mov edx, 2
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
xor edi, edi
mov ecx, esi
call fcn.0043e610
test eax, eax
jne 0x4181b5
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
cmp ebx, 0x13
je 0x418072
cmp ebx, 0x14
je 0x418072
cmp ebx, 0xfb4
je 0x418061
cmp ebx, 0xfb5
je 0x418061
cmp ebx, 0xfca
je 0x418050
cmp ebx, 0xfcb
je 0x418050
cmp ebx, 0xfe4
je 0x41803f
cmp ebx, 0xfe5
je 0x41803f
cmp ebx, 0xfeb
je 0x41802e
cmp ebx, 0xfec
je 0x41802e
cmp ebx, 0x1008
je 0x41801d
cmp ebx, 0x1009
je 0x41801d
cmp ebx, 0x1073
je 0x41800c
cmp ebx, 0x1074
je 0x41800c
cmp ebx, 0x107f
je 0x417ffb
cmp ebx, 0x1080
je 0x417ffb
cmp ebx, 0x10a7
je 0x417fe7
cmp ebx, 0x10a8
je 0x417fe7
cmp ebx, 0x10d0
je 0x417fd3
cmp ebx, 0x10d1
jne 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0x10d0
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0x10a7
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0x107f
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0x1073
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0x1008
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0xfeb
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0xfe4
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0xfca
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0xfb4
jmp 0x41807e
xor ebx, ebx
cmp byte [ebp - 0xd], 1
setne bl
add ebx, 0x13
push eax
push 0x4aaeb4
push str.UPDATE___s__SET__equip___0_WHERE__char_id____d
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x4180f7
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x4180b7
push 0x1a2
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu___self_is_NULL_n
jmp 0x4180ef
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x4180e0
mov byte [edx], 0
push dword [ecx]
push 0x1a2
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x4180f7
push 0x1a2
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
push dword [ebp - 0x24]
cmp byte [ebp - 0xd], 1
mov ecx, 0x4d
mov eax, 0x46
cmove eax, ecx
push eax
push ebx
push 0x4aaab4
push str.UPDATE___s__SET__class____d___weapon___0___shield___0___head_top___0___head_mid___0___head_bottom___0___sex____c_WHERE__char_id____d
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x18
cmp eax, 0xffffffff
jne 0x418185
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x418145
push 0x1a5
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu___self_is_NULL_n
jmp 0x41817d
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x41816e
mov byte [edx], 0
push dword [ecx]
push 0x1a5
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x418185
push 0x1a5
push str.D:_ragnarokbr_rathena_srccharchar_logif.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
mov edx, dword [ebp - 0x2c]
mov bl, byte [ebp - 0xd]
test edx, edx
je 0x4181ab
movzx eax, bl
push 2
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
push 4
push dword [ebp - 0x24]
push dword [ebp - 0x14]
call fcn.0042f6f0
add esp, 0x14
inc edi
cmp edi, 0xf
jb 0x417ee7
mov ecx, esi
call fcn.0043e860
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x4181eb
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x4181eb
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x4181eb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edi, dword [ebp - 0x14]
mov ecx, 0x2b0d
mov dword [ebp - 0x2a], edi
mov word [ebp - 0x2c], cx
mov edx, 7
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x26], bl
call fcn.004190a0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret