Function at 0x406200
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x487a7d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x78
mov eax, dword [0x4a701c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x5c], edi
mov esi, ecx
mov dword [ebp - 0x50], esi
push 0x2248
push 0
push edi
mov dword [ebp - 0x54], 0
call fcn.00461440
add esp, 0xc
cmp dword [0x4a9e18], 0
je 0x406276
push esi
push str.Char_load_request___d__n
call fcn.00442790
add esp, 8
call fcn.0043df80
mov esi, eax
test esi, esi
jne 0x40629d
push 0x41c
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu____self_is_NULL_n
call fcn.004427f0
add esp, 0xc
jmp 0x40757a
push 0x4aaab4
push str.SELECT__char_id___account_id___char_num___name___class___base_level___job_level___base_exp___job_exp___zeny___str___agi___vit___int___dex___luk___max_hp___hp___max_sp___sp___status_point___skill_point___option___karma___manner___party_id___guild_id___pet_id___homun_id___elemental_id___hair___hair_color___clothes_color___body___weapon___shield___head_top___head_mid___head_bottom___last_map___last_x___last_y___save_map___save_x___save_y___partner_id___father___mother___child___fame___rename___delete_date___robe____moves___unban_time___font___uniqueitem_counter___sex___hotkey_rowshift___clan_id___title_id___show_equip___hotkey_rowshift2___max_ap___ap___trait_point___pow___sta___wis___spl___con___crt___inventory_slots___body_direction___disable_call___last_instanceid__FROM___s__WHERE__char_id___LIMIT_1
push esi
call fcn.0043e040
add esp, 0xc
cmp eax, 0xffffffff
je 0x407533
push 0
lea eax, [ebp - 0x50]
xor edx, edx
push eax
push 0xb
mov ecx, esi
call fcn.0043e1d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x407533
mov ecx, esi
call fcn.0043e300
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
xor edx, edx
mov ecx, esi
push 0
push edi
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 4]
mov edx, 1
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xe4]
mov edx, 2
mov ecx, esi
push 0
push eax
push 0xe
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xa9]
mov edx, 3
mov ecx, esi
push 0x18
push eax
push 0x15
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2c]
mov edx, 4
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xc4]
mov edx, 5
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xc8]
mov edx, 6
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x18]
mov edx, 7
mov ecx, esi
push 0
push eax
push 8
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x20]
mov edx, 8
mov ecx, esi
push 0
push eax
push 8
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x28]
mov edx, 9
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xcc]
mov edx, 0xa
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xce]
mov edx, 0xb
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xd0]
mov edx, 0xc
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xd2]
mov edx, 0xd
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xd4]
mov edx, 0xe
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xd6]
mov edx, 0xf
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x40]
mov edx, 0x10
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x3c]
mov edx, 0x11
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x48]
mov edx, 0x12
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x44]
mov edx, 0x13
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x30]
mov edx, 0x14
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x34]
mov edx, 0x15
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x54]
mov edx, 0x16
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x5a]
mov edx, 0x17
mov ecx, esi
push 0
push eax
push 0xe
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x58]
mov edx, 0x18
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x64]
mov edx, 0x19
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x68]
mov edx, 0x1a
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x6c]
mov edx, 0x1b
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x70]
mov edx, 0x1c
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x78]
mov edx, 0x1d
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x5c]
mov edx, 0x1e
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x5e]
mov edx, 0x1f
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x60]
mov edx, 0x20
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x62]
mov edx, 0x21
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x9c]
mov edx, 0x22
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x9e]
mov edx, 0x23
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xa0]
mov edx, 0x24
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xa2]
mov edx, 0x25
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xa4]
mov edx, 0x26
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xee]
mov edx, 0x27
mov ecx, esi
push 0x10
push eax
push 0x15
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xfe]
mov edx, 0x28
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x100]
mov edx, 0x29
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x108]
mov edx, 0x2a
mov ecx, esi
push 0x10
push eax
push 0x15
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x118]
mov edx, 0x2b
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x11a]
mov edx, 0x2c
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 8]
mov edx, 0x2d
mov ecx, esi
push 0
push eax
push 7
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xc]
mov edx, 0x2e
mov ecx, esi
push 0
push eax
push 7
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x10]
mov edx, 0x2f
mov ecx, esi
push 0
push eax
push 7
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x14]
mov edx, 0x30
mov ecx, esi
push 0
push eax
push 7
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x80]
mov edx, 0x31
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2218]
mov edx, 0x32
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2220]
mov edx, 0x33
mov ecx, esi
push 0
push eax
push 7
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xa6]
mov edx, 0x34
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2230]
mov edx, 0x35
mov ecx, esi
push 0
push eax
push 7
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2228]
mov edx, 0x36
mov ecx, esi
push 0
push eax
push 0xc
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2234]
mov edx, 0x37
mov ecx, esi
push 0
push eax
push 0xe
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2238]
mov edx, 0x38
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [ebp - 0x84]
mov edx, 0x39
mov ecx, esi
push 2
push eax
push 0x16
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x223c]
mov edx, 0x3a
mov ecx, esi
push 0
push eax
push 0xe
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x7c]
mov edx, 0x3b
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2240]
mov edx, 0x3c
mov ecx, esi
push 0
push eax
push 0x11
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2214]
mov edx, 0x3d
mov ecx, esi
push 0
push eax
push 6
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x223d]
mov edx, 0x3e
mov ecx, esi
push 0
push eax
push 0xe
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x50]
mov edx, 0x3f
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x4c]
mov edx, 0x40
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x38]
mov edx, 0x41
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xd8]
mov edx, 0x42
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xda]
mov edx, 0x43
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xdc]
mov edx, 0x44
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xde]
mov edx, 0x45
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xe0]
mov edx, 0x46
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xe2]
mov edx, 0x47
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2244]
mov edx, 0x48
mov ecx, esi
push 0
push eax
push 6
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0xa8]
mov edx, 0x49
mov ecx, esi
push 0
push eax
push 5
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x2216]
mov edx, 0x4a
mov ecx, esi
push 0
push eax
push 5
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
sub esp, 8
lea eax, [edi + 0x104]
mov edx, 0x4b
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x407533
mov ecx, esi
call fcn.0043e610
cmp eax, 0xffffffff
jne 0x406de9
push dword [ebp - 0x50]
push str.Requested_non_existant_character_id:__d__n
call fcn.00442810
add esp, 8
jmp 0x407573
push dword [ebp - 0x84]
mov edx, edi
xor ecx, ecx
call fcn.00405670
push 0x487
mov edx, str.D:_ragnarokbr_rathena_srccharchar.cpp
mov byte [edi + 0xe5], al
mov ecx, 0x401
mov dword [ebp - 0x64], 0x400
call fcn.00444690
mov dword [ebp - 0x6c], eax
mov edx, 0x488
mov dword [ebp - 0x68], eax
mov ecx, str.D:_ragnarokbr_rathena_srccharchar.cpp
push str._status
lea eax, [ebp - 0x6c]
push eax
push str.char_mmo_char_fromsql
call fcn.00443180
add esp, 0x14
cmp byte [ebx + 8], 0
jne 0x406e5e
mov ecx, esi
call fcn.0043e860
lea ecx, [ebp - 0x6c]
call fcn.00443260
mov eax, 1
jmp 0x40757c
push 3
push 0x4ab3b4
push str.SELECT__map___x___y__FROM___s__WHERE__char_id___ORDER_by__memo_id__LIMIT__d
push esi
call fcn.0043e040
add esp, 0x10
cmp eax, 0xffffffff
je 0x406ef7
push 0
lea eax, [ebp - 0x50]
xor edx, edx
push eax
push 0xb
mov ecx, esi
call fcn.0043e1d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x406ef7
mov ecx, esi
call fcn.0043e300
cmp eax, 0xffffffff
je 0x406ef7
sub esp, 8
lea eax, [ebp - 0x28]
xor edx, edx
mov ecx, esi
push 0x10
push eax
push 0x15
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x406ef7
sub esp, 8
lea eax, [ebp - 0x18]
mov edx, 1
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x406ef7
sub esp, 8
lea eax, [ebp - 0x16]
mov edx, 2
mov ecx, esi
push 0
push eax
push 0xa
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
jne 0x406f37
mov ecx, dword [esi + 4]
mov eax, ecx
sub eax, dword [esi]
test eax, eax
jle 0x406f20
mov byte [ecx], 0
push dword [esi]
push 0x499
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x406f37
push 0x499
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
lea eax, [edi + 0x11c]
mov dword [ebp - 0x4c], 0
mov edi, eax
mov ecx, esi
call fcn.0043e610
test eax, eax
jne 0x406f6d
movups xmm0, xmmword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], eax
add edi, 0x14
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp eax, 3
jl 0x406f46
push str._memo
lea eax, [ebp - 0x6c]
mov edx, 0x49f
push eax
push str.char_mmo_char_fromsql
mov ecx, str.D:_ragnarokbr_rathena_srccharchar.cpp
call fcn.00443180
add esp, 0xc
push 0x657
push 0x4ab2b4
push str.SELECT__id____lv___flag__FROM___s__WHERE__char_id___LIMIT__d
push esi
call fcn.0043e040
mov edi, dword [ebp - 0x5c]
add esp, 0x10
cmp eax, 0xffffffff
je 0x40702c
push 0
lea eax, [ebp - 0x50]
xor edx, edx
push eax
push 0xb
mov ecx, esi
call fcn.0043e1d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x40702c
mov ecx, esi
call fcn.0043e300
cmp eax, 0xffffffff
je 0x40702c
sub esp, 8
lea eax, [ebp - 0x58]
xor edx, edx
mov ecx, esi
push 0
push eax
push 6
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x40702c
sub esp, 8
lea eax, [ebp - 0x56]
mov edx, 1
mov ecx, esi
push 0
push eax
push 5
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x40702c
sub esp, 8
lea eax, [ebp - 0x55]
mov edx, 2
mov ecx, esi
push 0
push eax
push 5
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
jne 0x40706c
mov ecx, dword [esi + 4]
mov eax, ecx
sub eax, dword [esi]
test eax, eax
jle 0x407055
mov byte [ecx], 0
push dword [esi]
push 0x4a9
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x40706c
push 0x4a9
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
movzx ecx, byte [ebp - 0x55]
lea eax, [edi + 0x158]
xor edx, edx
mov dword [ebp - 0x4c], eax
cmp byte [ebp - 0x55], 3
cmovne ecx, edx
mov byte [ebp - 0x55], cl
mov ecx, esi
call fcn.0043e610
test eax, eax
jne 0x4070e4
mov eax, dword [ebp - 0x58]
mov edx, 0x2722
lea ecx, [eax - 1]
cmp cx, dx
ja 0x4070ae
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
jmp 0x4070d4
push dword [edi]
lea eax, [edi + 0xa9]
push dword [edi + 4]
push eax
movzx eax, byte [ebp - 0x56]
push eax
movzx eax, word [ebp - 0x58]
push eax
push str.mmo_char_fromsql:_ignoring_invalid_skill__id_u_lv_u__of_character__s__AID_d_CID_d__n
call fcn.004427d0
mov eax, dword [ebp - 0x54]
add esp, 0x18
add dword [ebp - 0x4c], 4
mov ecx, 0x657
cmp ax, cx
jb 0x407085
jmp 0x4070e7
mov eax, dword [ebp - 0x54]
movzx eax, ax
push eax
push str.__d_skills
lea eax, [ebp - 0x6c]
push eax
push str.char_mmo_char_fromsql
push 0x4b6
push str.D:_ragnarokbr_rathena_srccharchar.cpp
call fcn.00443060
push 0x28
push 0x4ac1b4
push 0x4aaab4
push str.SELECT_c._account_id___c._char_id___c._name__FROM___s__c_LEFT_JOIN___s__f_ON_f._friend_id___c._char_id__WHERE_f._char_id___LIMIT__d
push esi
call fcn.0043e040
add esp, 0x2c
cmp eax, 0xffffffff
je 0x4071a6
push 0
lea eax, [ebp - 0x50]
xor edx, edx
push eax
push 0xb
mov ecx, esi
call fcn.0043e1d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4071a6
mov ecx, esi
call fcn.0043e300
cmp eax, 0xffffffff
je 0x4071a6
sub esp, 8
lea eax, [ebp - 0x48]
xor edx, edx
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x4071a6
sub esp, 8
lea eax, [ebp - 0x44]
mov edx, 1
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x4071a6
sub esp, 8
lea eax, [ebp - 0x40]
mov edx, 2
mov ecx, esi
push 0x18
push eax
push 0x15
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
jne 0x4071e6
mov ecx, dword [esi + 4]
mov eax, ecx
sub eax, dword [esi]
test eax, eax
jle 0x4071cf
mov byte [ecx], 0
push dword [esi]
push 0x4c0
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x4071e6
push 0x4c0
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
lea eax, [edi + 0x1ab4]
mov dword [ebp - 0x4c], 0
mov edi, eax
mov ecx, esi
call fcn.0043e610
test eax, eax
jne 0x40721e
movups xmm0, xmmword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
inc eax
movups xmmword [edi], xmm0
mov dword [ebp - 0x4c], eax
movups xmm0, xmmword [ebp - 0x38]
movups xmmword [edi + 0x10], xmm0
add edi, 0x20
cmp eax, 0x28
jl 0x4071f5
push str._friends
lea eax, [ebp - 0x6c]
mov edx, 0x4c4
push eax
push str.char_mmo_char_fromsql
mov ecx, str.D:_ragnarokbr_rathena_srccharchar.cpp
call fcn.00443180
add esp, 0xc
push 0x4ac2b4
push str.SELECT__hotkey____type____itemskill_id____skill_lvl__FROM___s__WHERE__char_id__
push esi
call fcn.0043e040
mov edi, dword [ebp - 0x5c]
add esp, 0xc
cmp eax, 0xffffffff
je 0x4072ff
push 0
lea eax, [ebp - 0x50]
xor edx, edx
push eax
push 0xb
mov ecx, esi
call fcn.0043e1d0
add esp, 0xc
cmp eax, 0xffffffff
je 0x4072ff
mov ecx, esi
call fcn.0043e300
cmp eax, 0xffffffff
je 0x4072ff
sub esp, 8
lea eax, [ebp - 0x78]
xor edx, edx
mov ecx, esi
push 0
push eax
push 0xb
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x4072ff
sub esp, 8
lea eax, [ebp - 0x6e]
mov edx, 1
mov ecx, esi
push 0
push eax
push 0xe
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x4072ff
sub esp, 8
lea eax, [ebp - 0x74]
mov edx, 2
mov ecx, esi
push 0
push eax
push 0x10
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
je 0x4072ff
sub esp, 8
lea eax, [ebp - 0x70]
mov edx, 3
mov ecx, esi
push 0
push eax
push 0xf
call fcn.0043e410
add esp, 0x14
cmp eax, 0xffffffff
jne 0x40733f
mov ecx, dword [esi + 4]
mov eax, ecx
sub eax, dword [esi]
test eax, eax
jle 0x407328
mov byte [ecx], 0
push dword [esi]
push 0x4d0
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x40733f
push 0x4d0
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
mov ecx, esi
call fcn.0043e610
test eax, eax
jne 0x4073a0
nop word [eax + eax]
mov edx, dword [ebp - 0x78]
cmp edx, 0x4b
ja 0x40736e
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [edi + edx*8 + 0x1fb4], eax
mov dword [edi + edx*8 + 0x1fb8], ecx
jmp 0x407395
push dword [edi]
lea eax, [edi + 0xa9]
push dword [edi + 4]
push eax
movzx eax, word [ebp - 0x70]
push eax
push dword [ebp - 0x74]
movzx eax, byte [ebp - 0x6e]
push eax
push edx
push str.mmo_char_fromsql:_ignoring_invalid_hotkey__hotkey_d_type_u_id_u_lv_u__of_character__s__AID_d_CID_d__n
call fcn.004427d0
add esp, 0x20
mov ecx, esi
call fcn.0043e610
test eax, eax
je 0x407350
push str._hotkeys
lea eax, [ebp - 0x6c]
mov edx, 0x4d9
push eax
push str.char_mmo_char_fromsql
mov ecx, str.D:_ragnarokbr_rathena_srccharchar.cpp
call fcn.00443180
mov ecx, dword [ebp - 0x50]
add esp, 0xc
mov edx, edi
call fcn.00436760
push str._mercenary
lea eax, [ebp - 0x6c]
mov edx, 0x4de
push eax
push str.char_mmo_char_fromsql
mov ecx, str.D:_ragnarokbr_rathena_srccharchar.cpp
call fcn.00443180
add esp, 0xc
cmp dword [0x4a9e18], 0
je 0x407413
mov eax, dword [ebp - 0x68]
push dword [ebp - 0x6c]
mov byte [eax], 0
lea eax, [edi + 0xa9]
push eax
push dword [ebp - 0x50]
push str.Loaded_char___d____s_:__s_n
call fcn.00442790
add esp, 0x10
mov ecx, esi
call fcn.0043e860
push dword [ebp - 0x50]
mov edx, 0x4cf740
lea ecx, [ebp - 0x80]
call fcn.0040ff20
add esp, 4
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x40750d
push 0x2258
call fcn.0045f6ff
add esp, 4
mov dword [ebp - 0x5c], eax
xorps xmm0, xmm0
movq qword [eax], xmm0
lea esi, [eax + 0x10]
push 0x2248
mov dword [eax + 8], 0
lea ecx, [eax + 4]
push 0
push esi
mov dword [ebp - 0x4c], ecx
mov dword [ecx], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_struct_mmo_charstatus_.0
mov dword [ebp - 0x54], esi
call fcn.00461440
mov ecx, dword [ebp - 0x7c]
add esp, 0xc
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x80], esi
or esi, 0xffffffff
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x7c], eax
test ecx, ecx
je 0x4074c0
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x4074c0
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x60]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x4074c0
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x54]
mov ecx, 0x4cf740
mov eax, dword [ebp - 0x50]
push esi
mov dword [esi], eax
call fcn.0040fa80
mov ecx, dword [ebp - 0x4c]
lock inc dword [ecx]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], esi
mov esi, dword [eax + 4]
mov dword [eax + 4], ecx
test esi, esi
je 0x40750a
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x40750a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x40750a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x54]
push 0x2248
push edi
push eax
call fcn.00460ec0
add esp, 0xc
lea ecx, [ebp - 0x6c]
call fcn.00443260
lea ecx, [ebp - 0x80]
call fcn.0040fa50
mov eax, 1
jmp 0x40757c
mov ecx, dword [esi + 4]
mov eax, ecx
sub eax, dword [esi]
test eax, eax
jle 0x40755c
mov byte [ecx], 0
push dword [esi]
push 0x47b
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x407573
push 0x47b
push str.D:_ragnarokbr_rathena_srccharchar.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
mov ecx, esi
call fcn.0043e860
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0045f6f1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret