Function at 0x42c730
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48868d
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
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 dword [ebp - 0x14], edx
mov ebx, ecx
mov dword [ebp - 0x1c], ebx
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x18], edx
imul esi, eax, 0x1000193
movzx eax, dh
xor esi, eax
movzx eax, byte [ebp - 0x12]
imul ecx, esi, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x11]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004320e0
mov ecx, dword [0x4cf7e4]
mov edi, ecx
mov eax, dword [eax + 4]
test eax, eax
cmovne edi, eax
cmp edi, ecx
je 0x42c7c9
mov eax, dword [edi + 0x10]
test eax, eax
je 0x42c7c1
lock inc dword [eax + 4]
mov eax, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
jmp 0x42c7cd
xor eax, eax
xor edi, edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x42c7fe
mov dword [ebx + 4], 0
mov dword [ebx], eax
mov eax, ebx
mov dword [ebx + 4], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
push 0x256
mov edx, str.D:_ragnarokbr_rathena_srccharint_guild.cpp
mov dword [ebp - 0x20], 0x400
mov ecx, 0x401
call fcn.00444690
mov dword [ebp - 0x28], eax
mov edx, 0x258
mov dword [ebp - 0x24], eax
mov ecx, str.D:_ragnarokbr_rathena_srccharint_guild.cpp
push str.SELECT__castle_id____guild_id____economy____defense____triggerE____triggerD____nextTime____payTime____createTime____visibleC_
lea eax, [ebp - 0x28]
push eax
push str.inter_guildcastle_fromsql
call fcn.00443180
add esp, 0x14
xor esi, esi
push esi
push str.___visibleG_d_
lea eax, [ebp - 0x28]
push eax
push str.inter_guildcastle_fromsql
push 0x25a
push str.D:_ragnarokbr_rathena_srccharint_guild.cpp
call fcn.00443060
inc esi
add esp, 0x18
cmp esi, 8
jl 0x42c842
push dword [ebp - 0x14]
lea eax, [ebp - 0x28]
push 0x4ab6b4
push str._FROM___s__WHERE__castle_id__d
push eax
push str.inter_guildcastle_fromsql
push 0x25b
push str.D:_ragnarokbr_rathena_srccharint_guild.cpp
call fcn.00443060
mov eax, dword [ebp - 0x24]
add esp, 0x1c
mov ebx, dword [ebp - 0x28]
mov byte [eax], 0
push ebx
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 8
cmp eax, 0xffffffff
jne 0x42c97b
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x42c8cd
push 0x25d
push str.D:_ragnarokbr_rathena_srccharint_guild.cpp
push str.at__s:_lu___self_is_NULL_n
jmp 0x42c905
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x42c8f6
mov byte [edx], 0
push dword [ecx]
push 0x25d
push str.D:_ragnarokbr_rathena_srccharint_guild.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x42c90d
push 0x25d
push str.D:_ragnarokbr_rathena_srccharint_guild.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
push str.StringBuf_Destroy
push 0x42a
mov edx, str.D:_ragnarokbr_rathena_srccommon_strlib.cpp
mov ecx, ebx
call fcn.004449e0
mov esi, dword [ebp - 0x1c]
add esp, 8
mov dword [esi], 0
mov dword [esi + 4], 0
test edi, edi
je 0x42cf79
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x42cf79
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], ebx
dec ebx
jne 0x42cf79
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x42cb23
movzx eax, word [ebx - 2]
lea edx, [ebx - 0xc]
mov dword [ebp - 0x18], edx
mov ecx, eax
test ax, ax
jne 0x42c9e8
mov eax, dword [ebx - 0x18]
lea ecx, [ebx - 0x18]
cmp dword [eax + ecx + 0x18], 0x7eadbeaf
jne 0x42ca47
mov eax, 0xffff
mov word [edx + 0xa], ax
mov edx, dword [ecx + 4]
mov eax, dword [ecx + 8]
test edx, edx
je 0x42c9c0
mov dword [edx + 8], eax
jmp 0x42c9c5
mov dword [0x51e4a4], eax
mov edx, dword [ecx + 8]
test edx, edx
je 0x42c9d2
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx]
sub dword [0x51e4a8], eax
push ecx
call fcn.00473a86
add esp, 4
jmp 0x42cb23
mov esi, dword [edx]
mov eax, edx
sub eax, esi
mov dword [ebp - 0x10], eax
cmp eax, 0xa018
jbe 0x42ca15
push 0x42a
push str.D:_ragnarokbr_rathena_srccommon_strlib.cpp
push ebx
push str.Memory_manager:_args_of_aFree_0x_p_is_invalid_pointer__s_line__d_n
call fcn.00442810
add esp, 0x10
jmp 0x42cb23
test esi, esi
jne 0x42ca3b
push str.StringBuf_Destroy
push 0x42a
push str.D:_ragnarokbr_rathena_srccommon_strlib.cpp
push ebx
push str.Memory_manager:_args_of_aFree_0x_p_is_freed_pointer__s:_d__s_n
call fcn.00442810
add esp, 0x14
jmp 0x42cb23
mov eax, ecx
cmp dword [eax + edx + 0xc], 0x7eadbeaf
je 0x42ca64
push 0x42a
push str.D:_ragnarokbr_rathena_srccommon_strlib.cpp
push ebx
push str.Memory_manager:_args_of_aFree_0x_p_is_overflowed_pointer__s_line__d_n
call fcn.00442810
add esp, 0x10
jmp 0x42cb23
sub dword [0x51e4a8], eax
mov dword [edx], 0
cmp word [esi + 0x12], 0
ja 0x42ca87
push str.Memory_manager:_assertion_block__unit_used___0_failed__n
call fcn.00442810
mov edx, dword [ebp - 0x18]
add esp, 4
mov eax, 0xffff
add word [esi + 0x12], ax
mov eax, dword [esi + 4]
jne 0x42cad7
test eax, eax
je 0x42cac7
mov ecx, dword [esi + 8]
cmp eax, 0x513888
jne 0x42cab0
movzx eax, word [esi + 0xe]
mov dword [eax*4 + 0x51d920], ecx
jmp 0x42cab3
mov dword [eax + 8], ecx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x42cac0
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov dword [esi + 4], 0
mov eax, dword [0x51d920]
mov dword [esi + 8], eax
mov dword [0x51d920], esi
jmp 0x42cb23
test eax, eax
jne 0x42cb09
movzx eax, word [esi + 0xe]
mov eax, dword [eax*4 + 0x51d920]
test eax, eax
je 0x42caed
mov dword [eax + 4], esi
movzx ecx, word [esi + 0xe]
mov dword [esi + 4], 0x513888
mov eax, dword [ecx*4 + 0x51d920]
mov dword [esi + 8], eax
mov dword [ecx*4 + 0x51d920], esi
mov ax, word [esi + 0x14]
mov word [edx + 0xa], ax
xor edx, edx
mov eax, dword [ebp - 0x10]
movzx ecx, word [esi + 0xc]
add eax, 0xffffffe8
div ecx
mov word [esi + 0x14], ax
push 0xe0
call fcn.0045f6ff
mov esi, eax
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x10], esi
lea eax, [esi + 4]
mov dword [ebp - 0x2c], eax
movq qword [esi], xmm0
lea ebx, [esi + 0xc]
push 0xd4
mov dword [esi + 8], 0
push 0
push ebx
mov dword [eax], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj2_struct_guild_castle_.0
mov dword [ebp - 0x20], ebx
call fcn.00461440
mov dword [ebp - 0x38], esi
add esp, 0xc
or esi, 0xffffffff
mov dword [ebp - 0x3c], ebx
test edi, edi
je 0x42cb9e
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x42cb9e
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x42cb9e
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [ebx], eax
mov esi, dword [0x4ad1b4]
test esi, esi
je 0x42cecf
mov eax, dword [esi + 0x3e0]
test eax, eax
je 0x42cecf
push eax
call dword [sym.imp.libmysql.dll_mysql_fetch_row]
mov dword [esi + 0x3e4], eax
test eax, eax
je 0x42cebb
push dword [esi + 0x3e0]
call dword [sym.imp.libmysql.dll_mysql_fetch_lengths]
mov edi, dword [sym.imp.libmysql.dll_mysql_num_fields]
mov dword [esi + 0x3e8], eax
mov esi, dword [0x4ad1b4]
test esi, esi
je 0x42cc20
cmp dword [esi + 0x3e4], 0
je 0x42cc20
mov eax, dword [esi + 0x3e0]
test eax, eax
je 0x42cc1c
push eax
call edi
cmp eax, 1
jbe 0x42cc1c
mov eax, dword [esi + 0x3e4]
mov esi, dword [eax + 4]
jmp 0x42cc23
xor esi, esi
jmp 0x42cc23
mov esi, dword [ebp - 0x34]
push esi
call fcn.0046d2ec
mov dword [ebx + 0x68], eax
add esp, 4
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42cc66
cmp dword [eax + 0x3e4], 0
je 0x42cc66
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42cc64
push eax
call edi
cmp eax, 2
jbe 0x42cc64
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 8]
jmp 0x42cc66
xor esi, esi
push esi
call fcn.0046d2ec
mov dword [ebx + 0x6c], eax
add esp, 4
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42cca9
cmp dword [eax + 0x3e4], 0
je 0x42cca9
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42cca7
push eax
call edi
cmp eax, 3
jbe 0x42cca7
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 0xc]
jmp 0x42cca9
xor esi, esi
push esi
call fcn.0046d2ec
mov dword [ebx + 0x70], eax
add esp, 4
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42ccec
cmp dword [eax + 0x3e4], 0
je 0x42ccec
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42ccea
push eax
call edi
cmp eax, 4
jbe 0x42ccea
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 0x10]
jmp 0x42ccec
xor esi, esi
push esi
call fcn.0046d2ec
mov dword [ebx + 0x74], eax
add esp, 4
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42cd2f
cmp dword [eax + 0x3e4], 0
je 0x42cd2f
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42cd2d
push eax
call edi
cmp eax, 5
jbe 0x42cd2d
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 0x14]
jmp 0x42cd2f
xor esi, esi
push esi
call fcn.0046d2ec
mov dword [ebx + 0x78], eax
add esp, 4
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42cd72
cmp dword [eax + 0x3e4], 0
je 0x42cd72
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42cd70
push eax
call edi
cmp eax, 6
jbe 0x42cd70
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 0x18]
jmp 0x42cd72
xor esi, esi
push esi
call fcn.0046d2ec
mov dword [ebx + 0x7c], eax
add esp, 4
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42cdb5
cmp dword [eax + 0x3e4], 0
je 0x42cdb5
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42cdb3
push eax
call edi
cmp eax, 7
jbe 0x42cdb3
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 0x1c]
jmp 0x42cdb5
xor esi, esi
push esi
call fcn.0046d2ec
mov dword [ebx + 0x80], eax
add esp, 4
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42cdfb
cmp dword [eax + 0x3e4], 0
je 0x42cdfb
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42cdf9
push eax
call edi
cmp eax, 8
jbe 0x42cdf9
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 0x20]
jmp 0x42cdfb
xor esi, esi
push esi
call fcn.0046d2ec
mov dword [ebx + 0x84], eax
add esp, 4
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x42ce41
cmp dword [eax + 0x3e4], 0
je 0x42ce41
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x42ce3f
push eax
call edi
cmp eax, 9
jbe 0x42ce3f
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x3e4]
mov esi, dword [eax + 0x24]
jmp 0x42ce41
xor esi, esi
push esi
call fcn.0046d2ec
mov dword [ebx + 0x88], eax
add esp, 4
mov eax, dword [ebp - 0x10]
mov ebx, 0xa
add eax, 0x98
mov dword [ebp - 0x18], eax
mov edi, dword [0x4ad1b4]
test edi, edi
je 0x42ce95
cmp dword [edi + 0x3e4], 0
je 0x42ce95
mov eax, dword [edi + 0x3e0]
test eax, eax
je 0x42ce93
push eax
call dword [sym.imp.libmysql.dll_mysql_num_fields]
cmp ebx, eax
jae 0x42ce93
mov eax, dword [edi + 0x3e4]
mov esi, dword [eax + ebx*4]
jmp 0x42ce95
xor esi, esi
push esi
call fcn.0046d2ec
mov edi, dword [ebp - 0x18]
inc ebx
add esp, 4
mov edx, dword [edi]
xor edx, eax
and edx, 1
xor dword [edi], edx
add edi, 8
mov dword [ebp - 0x18], edi
cmp ebx, 0x12
jl 0x42ce60
mov ebx, dword [ebp - 0x20]
jmp 0x42cecf
lea eax, [esi + 0x10]
mov dword [esi + 0x3e8], 0
push eax
call dword [sym.imp.libmysql.dll_mysql_errno]
mov esi, dword [0x4ad1b4]
test esi, esi
je 0x42cf08
mov eax, dword [esi + 0x3e0]
test eax, eax
je 0x42cf08
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
push ebx
lea eax, [ebp - 0x24]
push eax
call fcn.00431570
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax]
lock inc dword [ecx]
mov esi, dword [eax + 0x10]
mov edi, dword [ebp - 0x10]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], edi
test esi, esi
je 0x42cf4e
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x42cf4b
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x42cf4b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edi, dword [ebp - 0x10]
cmp dword [0x4a9e18], 0
je 0x42cf6a
push dword [ebx + 0x68]
push dword [ebp - 0x14]
push str.Loaded_guild_castle___d___guild__d__n
call fcn.00442790
add esp, 0xc
mov esi, dword [ebp - 0x1c]
mov dword [esi + 4], 0
mov dword [esi], ebx
mov dword [esi + 4], edi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret