Function at 0x421700
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4880dd
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x4a701c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.004208d0
push ecx
push 0x54
mov edx, str.D:_ragnarokbr_rathena_srccommon_sql.cpp
mov ecx, 0x3f0
call fcn.00444690
push 0x3f0
mov edi, eax
push 0
push edi
call fcn.00461440
add esp, 0x14
lea esi, [edi + 0x10]
push esi
call dword [sym.imp.libmysql.dll_mysql_init]
push ecx
push 0x56
mov edx, str.D:_ragnarokbr_rathena_srccommon_sql.cpp
mov dword [edi + 8], 0x400
mov ecx, 0x401
call fcn.00444690
add esp, 8
mov dword [edi], eax
mov dword [edi + 4], eax
lea eax, [ebp - 0x41]
mov dword [edi + 0x3e8], 0
mov dword [edi + 0x3e0], 0
push eax
push 0x14
mov dword [edi + 0x3ec], 0xffffffff
push esi
mov byte [ebp - 0x41], 1
call dword [sym.imp.libmysql.dll_mysql_options]
push str.Connect_Character_DB_server....__Character_Server__n
mov dword [0x4ad1b4], edi
call fcn.00442790
movzx eax, word [0x4a7a94]
add esp, 4
cmp dword [0x4a810c], 0x10
mov ebx, str.ragnarok
mov esi, dword [0x4ad1b4]
cmovae ebx, dword [str.ragnarok]
cmp dword [0x4a8124], 0x10
mov dword [ebp - 0x50], eax
mov eax, 0x4a8110
cmovae eax, dword [0x4a8110]
cmp dword [0x4a80f4], 0x10
mov dword [ebp - 0x48], eax
mov eax, 0x4a80e0
cmovae eax, dword [0x4a80e0]
cmp dword [0x4a7b2c], 0x10
mov dword [ebp - 0x54], eax
mov eax, 0x4a7b18
cmovae eax, dword [0x4a7b18]
mov dword [ebp - 0x58], eax
test esi, esi
je 0x421c71
mov eax, dword [esi]
lea edi, [esi + 0x10]
mov dword [esi + 4], eax
lea eax, [ebp - 0x4c]
push eax
push 0x2a
push edi
mov dword [ebp - 0x4c], 1
call dword [sym.imp.libmysql.dll_mysql_options]
test eax, eax
je 0x42185b
push str.Your_MySQL_version_does_not_understand__MYSQL_OPT_SSL_MODE__yet._Please_consider_upgrading___especially_if_you_encounter_SSL_related_error_messages_from_your_MySQL_server._n
call fcn.00442770
add esp, 4
mov eax, dword [ebp - 0x50]
push 0
push 0
movzx eax, ax
push eax
push ebx
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push dword [ebp - 0x48]
push edi
call dword [sym.imp.libmysql.dll_mysql_real_connect]
test eax, eax
je 0x421c5c
mov ecx, esi
call fcn.0043d790
mov dword [esi + 0x3ec], eax
cmp eax, 0xffffffff
jne 0x4218a3
push str.Failed_to_establish_keepalive_for_DB_connection__n
call fcn.00442770
add esp, 4
jmp 0x421c71
cmp dword [0x4a7b10], 0
je 0x42193b
cmp dword [0x4a7b14], 0x10
mov eax, 0x4a7b00
mov ecx, dword [0x4ad1b4]
cmovae eax, dword [0x4a7b00]
test ecx, ecx
je 0x4218ea
push eax
push str.SET_NAMES__s
push ecx
call fcn.0043d8e0
add esp, 0xc
test eax, eax
je 0x42193b
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x4218fb
push 0x3e3
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu___self_is_NULL_n
jmp 0x421933
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x421924
mov byte [edx], 0
push dword [ecx]
push 0x3e3
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x42193b
push 0x3e3
push str.D:_ragnarokbr_rathena_srccharinter.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
mov ecx, 0x4a7b30
call fcn.00445a10
mov ecx, 0x4a8128
call fcn.00445a10
mov edx, str.guild_save_timer
mov ecx, 0x42a010
call fcn.0043ead0
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov edi, eax
mov ebx, edx
add edi, 0x2710
adc ebx, 0
call fcn.0043ee30
mov ecx, dword [0x4cf85c]
mov esi, eax
shl esi, 5
mov dword [esi + ecx], edi
mov dword [esi + ecx + 4], ebx
mov dword [esi + ecx + 8], 0x42a010
mov dword [esi + ecx + 0x14], 0
mov dword [esi + ecx + 0x18], 0
mov dword [esi + ecx + 0xc], 1
mov dword [esi + ecx + 0x10], 0x3e8
mov ecx, eax
call fcn.0043ebd0
mov edi, dword [0x4a80c4]
mov esi, dword [edi]
cmp esi, edi
je 0x421ae3
mov eax, dword [esi + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4219d8
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ebx
add eax, 0x18
mov dword [ebp - 4], 0
push eax
push str.SELECT___id___account_id___nameid___amount___equip___identify___refine___attribute___card0___card1___card2___card3___option_id0___option_val0___option_parm0___option_id1___option_val1___option_parm1___option_id2___option_val2___option_parm2___option_id3___option_val3___option_parm3___option_id4___option_val4___option_parm4___expire_time___bound___unique_id___enchantgrade__FROM___s__LIMIT_1_
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x421a6f
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x421a2d
push 0xa4
push str.D:_ragnarokbr_rathena_srccharint_storage.cpp
push str.at__s:_lu___self_is_NULL_n
call fcn.004427f0
add esp, 0xc
jmp 0x421aad
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x421a56
mov byte [edx], 0
push dword [ecx]
push 0xa4
push str.D:_ragnarokbr_rathena_srccharint_storage.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x421aad
push 0xa4
push str.D:_ragnarokbr_rathena_srccharint_storage.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
jmp 0x421aad
mov eax, dword [0x4ad1b4]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x421aad
mov eax, dword [eax + 0x3e0]
test eax, eax
je 0x421aad
push eax
call dword [sym.imp.libmysql.dll_mysql_free_result]
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x3e0], 0
mov dword [eax + 0x3e4], 0
mov dword [eax + 0x3e8], 0
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x421ad9
or eax, 0xffffffff
lock xadd dword [ebx + 4], eax
jne 0x421ad9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
or eax, 0xffffffff
lock xadd dword [ebx + 8], eax
jne 0x421ad9
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov esi, dword [esi]
cmp esi, edi
jne 0x4219c7
cmp dword [0x4aa228], 0
je 0x421b98
push str.Cleaning_party_table..._n
call fcn.00442750
add esp, 4
push 0x4aaab4
push 0x4aaab4
push 0x4abcb4
push 0x4aaab4
push 0x4abcb4
push 0x4aaab4
push 0x4abcb4
push 0x4abcb4
push str.DELETE_FROM___s__USING___s__LEFT_JOIN___s__ON___s_.leader_id___s_.account_id_AND___s_.leader_char____s_.char_id_WHERE___s_.account_id_IS_NULL
push dword [0x4ad1b4]
call fcn.0043d8e0
add esp, 0x28
cmp eax, 0xffffffff
jne 0x421b98
mov ecx, dword [0x4ad1b4]
test ecx, ecx
jne 0x421b58
push 0x10f
push str.D:_ragnarokbr_rathena_srccharint_party.cpp
push str.at__s:_lu___self_is_NULL_n
jmp 0x421b90
mov edx, dword [ecx + 4]
mov eax, edx
sub eax, dword [ecx]
test eax, eax
jle 0x421b81
mov byte [edx], 0
push dword [ecx]
push 0x10f
push str.D:_ragnarokbr_rathena_srccharint_party.cpp
push str.at__s:_lu____s_n
call fcn.004427f0
add esp, 0x10
jmp 0x421b98
push 0x10f
push str.D:_ragnarokbr_rathena_srccharint_party.cpp
push str.at__s:_lu_n
call fcn.004427f0
add esp, 0xc
push ecx
push 0x6e
mov edx, str.D:_ragnarokbr_rathena_srccharint_pet.cpp
mov ecx, 0x38
call fcn.00444690
push 0x38
mov esi, eax
push 0
push esi
call fcn.00461440
add esp, 0x14
mov dword [0x4ad1bc], esi
call fcn.004262b0
call fcn.00428db0
push 0x49a95c
push str.._db_GeoIP.dat
call fcn.004695b8
mov esi, eax
push esi
call fcn.004772e4
add esp, 0xc
lea ecx, [ebp - 0x40]
push ecx
push eax
call fcn.00473a7b
mov ecx, dword [ebp - 0x2c]
add esp, 4
mov edx, str.D:_ragnarokbr_rathena_srccharinter.cpp
push 0x19a
call fcn.00444690
push esi
push dword [ebp - 0x2c]
mov dword [0x4ad1b8], eax
push 1
push eax
call fcn.004732ae
add esp, 0x18
cmp eax, dword [ebp - 0x2c]
je 0x421c28
push str.geoip_cache_reading_didnt_read_all_elements__n
call fcn.00442810
add esp, 4
push esi
call fcn.004697db
add esp, 4
push str.Finished_Reading_e_1_32mGeoIPe_0m_Database._n
call fcn.00442750
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045f6f1
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.libmysql.dll_mysql_error]
push eax
push 0x49fb58
call fcn.00442770
add esp, 8
mov ecx, str.ragnarok
call fcn.0041e390
mov ecx, 0x4a8110
mov edx, eax
call fcn.0041e390
mov ecx, 0x4a7b18
mov esi, eax
call fcn.0041e390
push edx
push dword [0x4a7a94]
push esi
push eax
push str.Couldnt_connect_with_username___s__host___s__port___d__database___s_n
call fcn.00442810
add esp, 0x14
mov edx, str.D:_ragnarokbr_rathena_srccharinter.cpp
push 0x3dc
call fcn.0043db10
add esp, 4
call fcn.0043db70
push 1
call fcn.0047280f
int3