Function at 0x47a3d0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x5c53dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push str.Players_Classic.txt
push esi
call fcn.00554460
add esp, 8
test eax, eax
je 0x47a42d
mov eax, dword [0x6427bc]
test eax, eax
je 0x47a409
push eax
call fcn.00567830
add esp, 4
push 0x5c0f3eb
call fcn.00567760
mov ebx, eax
push 0x5c0f3eb
push 0
push ebx
mov dword [ebp - 0x60], ebx
mov dword [0x6427bc], ebx
call fcn.00551e50
jmp 0x47a461
mov eax, dword [0x6427b8]
test eax, eax
je 0x47a43f
push eax
call fcn.00567830
add esp, 4
push 0x5c0f3eb
call fcn.00567760
push 0x5c0f3eb
push 0
push eax
mov dword [ebp - 0x60], eax
mov dword [0x6427b8], eax
call fcn.00551e50
mov ebx, dword [ebp - 0x60]
add esp, 0x10
test ebx, ebx
je 0x47b0e7
push esi
call fcn.00584e80
add esp, 4
test eax, eax
je 0x47b0e7
push edi
push 1
push str.character
call fcn.00584bd0
mov edi, eax
add esp, 8
test edi, edi
je 0x47b0e1
push 0
push edi
push 1
push str.code
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47b0c9
mov esi, eax
imul esi, esi, 0x1923
add esi, ebx
xor ebx, ebx
push ebx
push edi
push 1
push str.name
mov word [esi + 0x59], ax
call fcn.004846d0
push 0x69ef3c
push edi
push 1
push str.gold
mov byte [esi + 0x20], bl
mov dword [esi + 0x166f], eax
mov dword [esi + 0x3e], ebx
call fcn.00584c90
add esp, 0x20
test eax, eax
je 0x47a505
push ebx
push 0x69ef3c
call fcn.00484760
add esp, 8
mov dword [esi + 0x3e], eax
push 1
push edi
push 1
push str.level
call fcn.004846d0
add esp, 0x10
mov word [esi + 0x4c], ax
cmp ax, bx
jne 0x47a529
mov eax, 1
mov word [esi + 0x4c], ax
push ebx
push edi
push 1
push str.real_job
call fcn.004846d0
push eax
call fcn.00479c50
push ebx
push edi
push 1
push 0x5a8f64
mov byte [esi + 0x4e], al
call fcn.004846d0
push ebx
push edi
push 1
push str.office
mov byte [esi + 0x4f], al
call fcn.004846d0
push ebx
push edi
push 1
push str.ks_score
mov word [esi + 0x944], ax
call fcn.004846d0
add esp, 0x44
push ebx
push edi
push 1
push str.ks_rscore
mov dword [esi + 0xb08], eax
call fcn.004846d0
push 1
push edi
push 1
push str.size
mov dword [esi + 0xb04], eax
call fcn.004846d0
add esp, 0x20
cmp eax, 1
jge 0x47a5af
mov eax, 1
jmp 0x47a5b9
cmp eax, 3
jle 0x47a5b9
mov eax, 3
push ebx
push edi
push 1
push str.honor
mov byte [esi + 0x53], al
call fcn.004846d0
push ebx
push edi
push 1
push 0x5a8f30
mov word [esi + 0x57], ax
call fcn.004846d0
push ebx
push edi
push 1
push 0x5a8f2c
mov dword [esi + 0x172], eax
call fcn.004846d0
push 1
push edi
push 1
push str.attr_str
mov dword [esi + 0x176], eax
call fcn.004846d0
add esp, 0x40
push 1
push edi
push 1
push str.attr_int
mov word [esi + 0x186], ax
call fcn.004846d0
push 1
push edi
push 1
push str.attr_mind
mov word [esi + 0x188], ax
call fcn.004846d0
push 1
push edi
push 1
push str.attr_con
mov word [esi + 0x18a], ax
call fcn.004846d0
push 1
push edi
push 1
push str.attr_dex
mov word [esi + 0x18c], ax
call fcn.004846d0
add esp, 0x40
push 1
push edi
push 1
push str.attr_leader
mov word [esi + 0x18e], ax
call fcn.004846d0
push 0xa
push edi
push 1
push str.attack_speed
mov word [esi + 0x190], ax
call fcn.004846d0
push 0x69ef3c
push edi
push 1
push str.damage
mov byte [esi + 0x192], al
call fcn.00584c90
add esp, 0x30
test eax, eax
je 0x47a6bf
push 0
push 0x69ef3c
call fcn.00484760
add esp, 8
mov ebx, eax
push 0
push edi
mov ecx, ebx
sar ecx, 0x10
push 1
push str.defense
mov word [esi + 0x923], cx
mov word [esi + 0x193], bx
call fcn.004846d0
push 0
push edi
push 1
push str.ratio_miss
mov word [esi + 0x195], ax
call fcn.004846d0
push 0
push edi
push 1
push str.magic_power
mov byte [esi + 0x199], al
call fcn.004846d0
push 0
push edi
push 1
push str.ratio_attack_x2
mov word [esi + 0x197], ax
call fcn.004846d0
add esp, 0x40
push 0
push edi
push 1
push str.attr_none
mov byte [esi + 0x19a], al
call fcn.004846d0
push 0x69ef3c
push edi
push 1
push str.spc_flag
mov dword [esi + 0x14a3], eax
xor ebx, ebx
call fcn.00584c90
add esp, 0x20
test eax, eax
je 0x47a770
push 0x69ef3c
call fcn.00484710
mov ebx, eax
add esp, 4
and ebx, 0x7ff
push 0
push edi
push 1
push str.no_back_off
mov word [esi + 0x19b], bx
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47a799
mov edx, 0x800
or word [esi + 0x19b], dx
push 0x69ef3c
push edi
push 1
push str.cnpc_flag
xor ebx, ebx
call fcn.00584c90
add esp, 0x10
test eax, eax
je 0x47a7c9
push 0x69ef3c
call fcn.00484710
mov ebx, eax
add esp, 4
and ebx, 0xf0000
push 0
push edi
push 1
push str.no_noattack
mov dword [esi + 0x167b], ebx
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47a7ef
or dword [esi + 0x167b], 0x80000
push 0
push edi
push 1
push str.Dead_create_npc
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47a80b
mov dword [esi + 0x191e], eax
push 0
push edi
push 1
push str.Dead_create_npc_num
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47a827
mov byte [esi + 0x1922], al
push 0
push edi
push 1
push str.equip_horse
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47a844
mov word [esi + 0x650], ax
push 0
push edi
push 1
push str.cnpc_cell
call fcn.004846d0
add esp, 0x10
mov byte [esi + 0x167f], al
cmp al, 1
jge 0x47a867
mov byte [esi + 0x167f], 1
push 0x69ef3c
push edi
push 1
push str.magic_defense_type
mov dword [ebp - 0x58], 1
call fcn.00584c90
add esp, 0x10
test eax, eax
je 0x47a8ec
jmp 0x47a890
push 0x2c
push 0x69ef3c
call fcn.005531e9
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x47a8cd
push 0
push 0x69ef3c
mov byte [ebx], 0
call fcn.00484650
push 0
inc ebx
push ebx
mov dword [ebp - 0x5c], eax
call fcn.00484760
mov ecx, dword [ebp - 0x5c]
add esp, 0x10
mov byte [esi + ecx + 0x19d], al
mov eax, dword [ebp - 0x58]
push 0x69ef3c
inc eax
push edi
push eax
push str.magic_defense_type
mov dword [ebp - 0x58], eax
call fcn.00584c90
add esp, 0x10
test eax, eax
jne 0x47a890
push 0x69ef3c
push edi
push 1
push str.magic_attack_type
mov dword [ebp - 0x58], 1
call fcn.00584c90
add esp, 0x10
test eax, eax
je 0x47a96c
lea esp, [esp]
push 0x2c
push 0x69ef3c
call fcn.005531e9
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x47a94d
push 0
push 0x69ef3c
mov byte [ebx], 0
call fcn.00484650
push 0
inc ebx
push ebx
mov dword [ebp - 0x5c], eax
call fcn.00484760
mov edx, dword [ebp - 0x5c]
add esp, 0x10
mov byte [esi + edx + 0x1a6], al
mov eax, dword [ebp - 0x58]
push 0x69ef3c
inc eax
push edi
push eax
push str.magic_attack_type
mov dword [ebp - 0x58], eax
call fcn.00584c90
add esp, 0x10
test eax, eax
jne 0x47a910
push 0
push edi
push 1
push str.equip_weapon
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47a989
mov word [esi + 0x23c], ax
push 0
push edi
push 1
push str.equip_horse
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47a9a6
mov word [esi + 0x650], ax
push 0
push edi
push 1
push str.equip_shield
call fcn.004846d0
add esp, 0x10
test eax, eax
je 0x47a9c3
mov word [esi + 0x1c8], ax
push 0x200000
push edi
push 1
push str.country
call fcn.004846d0
push eax
call fcn.00479bf0
push 0
push edi
push 1
push 0x5a8dd0
mov byte [esi + 0x54], al
call fcn.004846d0
push 0x69ef3c
push edi
mov word [esi + 0x164f], ax
xor eax, eax
push 1
push str.set_color
mov word [esi + 0x166c], ax
call fcn.00584c90
add esp, 0x34
test eax, eax
je 0x47aa64
push 0x50
lea ecx, [ebp - 0x54]
push 0
push ecx
call fcn.00551e50
push 3
lea edx, [ebp - 0x54]
push edx
push 0x69ef3c
call fcn.004848d0
add esp, 0x18
cmp eax, 3
jne 0x47aa64
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
and eax, 0xfff8
shl eax, 5
and ecx, 0xfc
add eax, ecx
sar edx, 3
and edx, 0x1f
lea eax, [edx + eax*8]
mov word [esi + 0x166c], ax
push 0x1f4
push edi
push 1
push str.attack_delay
call fcn.004846d0
push 0x1f4
push edi
push 1
push str.cast_attack_delay
mov word [esi + 0x180e], ax
call fcn.004846d0
push 0
push edi
push 1
push str.dead_horse
mov word [esi + 0x1810], ax
call fcn.004846d0
push 0
push edi
push 1
push str.height
mov word [esi + 0x1812], ax
call fcn.004846d0
add esp, 0x40
cdq
push 0
push edi
xor eax, edx
sub eax, edx
push 1
push str.zoom
mov word [esi + 0x1673], ax
call fcn.004846d0
push 0
push edi
push 1
push str.class
mov dword [esi + 0x1675], eax
call fcn.004846d0
push 0x4b
push edi
push 1
push str.walk_speed
mov byte [esi + 0x166e], al
call fcn.004846d0
push 0x64
push edi
push 1
push str.run_speed
mov word [esi + 0x165e], ax
call fcn.004846d0
add esp, 0x40
push 0
push edi
push 1
push 0x5a8d60
mov word [esi + 0x1660], ax
call fcn.004846d0
push 0
push edi
push 1
push 0x5a8d5c
mov dword [esi + 0x1651], eax
call fcn.004846d0
push 0
push edi
push 1
push str.skill_exp
mov word [esi + 0x1657], ax
call fcn.004846d0
push 0x5a
push edi
push 1
push str.ratio_hit
mov word [esi + 0x1655], ax
call fcn.004846d0
add esp, 0x40
push 1
push edi
mov byte [esi + 0x165d], al
push 1
push str.attack_range
call fcn.004846d0
push 1
push edi
push 1
push str.attack_effect_range
mov byte [esi + 0x1659], al
call fcn.004846d0
push 0
push edi
push 1
push str.attr_level
mov byte [esi + 0x165a], al
call fcn.004846d0
push 0
push edi
push 1
push str.talk
mov byte [esi + 0x165b], al
call fcn.004846d0
add esp, 0x40
push 0
push edi
push 1
push str.talk_no_dir
mov word [esi + 0x1845], ax
call fcn.004846d0
push 0
push edi
push 1
push str.appear_time
mov byte [esi + 0x1830], al
call fcn.004846d0
push 0
push edi
push 1
push str.boss_teleport
mov byte [esi + 0x1831], al
call fcn.004846d0
push 0
push edi
push 1
push str.boss_cast_all
mov byte [esi + 0x1832], al
call fcn.004846d0
add esp, 0x40
push 0
push edi
push 1
push str.boss_call_all
mov byte [esi + 0x1833], al
call fcn.004846d0
push 0
push edi
push 1
push str.call_ratio
mov byte [esi + 0x1834], al
call fcn.004846d0
push 0
push edi
push 1
push str.sell
mov byte [esi + 0x1840], al
call fcn.004846d0
push 0
push edi
push 1
push str.sfx_move
mov byte [esi + 0x165c], al
call fcn.004846d0
add esp, 0x40
push 0
push edi
push 1
push str.sfx_attack
mov word [esi + 0x1662], ax
call fcn.004846d0
push 0
push edi
mov word [esi + 0x1664], ax
push 1
push str.sfx_hit
call fcn.004846d0
push 0
push edi
push 1
push str.sfx_hurt
mov word [esi + 0x166a], ax
call fcn.004846d0
push 0
push edi
push 1
push str.sfx_dead
mov word [esi + 0x1666], ax
call fcn.004846d0
add esp, 0x40
push 0x69ef3c
push edi
push 1
push str.anti_status
mov word [esi + 0x1668], ax
xor ebx, ebx
call fcn.00584c90
add esp, 0x10
test eax, eax
je 0x47ad08
push 0x69ef3c
call fcn.00484710
add esp, 4
mov ebx, eax
lea ecx, [esi + 0x1680]
push edi
push ecx
mov dword [esi + 0x1814], ebx
call fcn.004851f0
push 0x69ef3c
push edi
push 1
push str.special_attack
mov dword [ebp - 0x58], 1
call fcn.00584c90
add esp, 0x18
test eax, eax
je 0x47ad9d
lea ebx, [esi + 0x1800]
cmp dword [ebp - 0x58], 3
jg 0x47ad9d
push 0x50
lea edx, [ebp - 0x54]
push 0
push edx
call fcn.00551e50
push 0xa
lea eax, [ebp - 0x54]
push eax
push 0x69ef3c
call fcn.004848d0
add esp, 0x18
cmp eax, 2
jne 0x47ad9d
mov cx, word [ebp - 0x54]
mov eax, dword [ebp - 0x58]
push 0x69ef3c
inc eax
mov word [ebx - 2], cx
mov dx, word [ebp - 0x50]
push edi
push eax
mov word [ebx], dx
push str.special_attack
mov dword [ebp - 0x58], eax
add ebx, 4
call fcn.00584c90
add esp, 0x10
test eax, eax
jne 0x47ad41
push 0
push edi
push 1
push str.ai_fast_run_ratio
call fcn.004846d0
push 0
push edi
push 1
push str.ai_fast_run_level
mov byte [esi + 0x1835], al
call fcn.004846d0
push 0
push edi
push 1
push str.ai_fast_run_magic
mov byte [esi + 0x1836], al
call fcn.004846d0
push 0
push edi
push 1
push str.ai_help_self_ratio
mov word [esi + 0x1837], ax
call fcn.004846d0
add esp, 0x40
push 0
push edi
push 1
push str.ai_help_self_level
mov byte [esi + 0x1839], al
call fcn.004846d0
push 0
push edi
push 1
push str.ai_help_self_magic
mov byte [esi + 0x183a], al
call fcn.004846d0
push 0
push edi
push 1
push 0x5a8be0
mov word [esi + 0x183b], ax
call fcn.004846d0
push 4
push edi
push 1
push str.ai_guard_range
mov dword [esi + 0x1818], eax
call fcn.004846d0
add esp, 0x40
push 0
push edi
push 1
push str.ai_call_range
mov byte [esi + 0x181c], al
call fcn.004846d0
push 0
push edi
push 1
push str.use_leader
mov byte [esi + 0x181d], al
call fcn.004846d0
push 0
push edi
push 1
push str.ai_reborn_range
mov word [esi + 0x1679], ax
call fcn.004846d0
push 0x10001
push edi
push 1
push str.ai_reborn_delay
mov byte [esi + 0x181e], al
call fcn.004847f0
add esp, 0x40
push 0
mov ecx, eax
sar ecx, 0x10
push edi
mov word [esi + 0x181f], cx
mov word [esi + 0x1821], ax
push 1
push str.drop
call fcn.004846d0
push 0
push edi
push 1
push str.drop_mission
mov word [esi + 0x180a], ax
call fcn.004846d0
push 0
push edi
push 1
push str.call_sol1
mov word [esi + 0x180c], ax
call fcn.004846d0
push 0
push edi
push 1
push str.call_sol2
mov word [esi + 0x1823], ax
call fcn.004846d0
add esp, 0x40
push 0
push edi
push 1
push str.call_sol3
mov word [esi + 0x1825], ax
call fcn.004846d0
push 0
push edi
push 1
push str.call_sol4
mov word [esi + 0x1827], ax
call fcn.004846d0
push 0
push edi
push 1
push str.call_sol5
mov word [esi + 0x1829], ax
call fcn.004846d0
push 0x69ef3c
push edi
push 1
push str.call_sol_total
mov word [esi + 0x182b], ax
call fcn.00584c90
add esp, 0x40
test eax, eax
je 0x47aff2
push 0x50
xor ebx, ebx
lea edx, [ebp - 0x54]
push ebx
push edx
call fcn.00551e50
push 0xa
lea eax, [ebp - 0x54]
push eax
push 0x69ef3c
call fcn.004848d0
add esp, 0x18
mov dword [ebp - 0x58], eax
cmp eax, 5
jle 0x47afa0
mov eax, 5
mov dword [ebp - 0x58], eax
xor edx, edx
test eax, eax
jle 0x47afdf
lea ecx, [esi + 0x1914]
lea esp, [esp]
cmp word [ecx - 0xf1], 0
je 0x47afdf
movzx eax, word [ebp + edx*4 - 0x54]
mov word [ecx], ax
test ax, ax
jne 0x47afcf
mov eax, 1
mov word [ecx], ax
movzx eax, word [ecx]
add ebx, eax
mov eax, dword [ebp - 0x58]
inc edx
add ecx, 2
cmp edx, eax
jl 0x47afb0
mov word [esi + 0x182d], bx
cmp eax, 1
jle 0x47aff2
or byte [esi + 0x1847], 0x80
push 0x1e
push edi
push 1
push str.appear_ratio
call fcn.004846d0
push 0
push edi
push 1
push str.hp_low_ratio_attack
mov byte [esi + 0x182f], al
call fcn.004846d0
add esp, 0x20
mov byte [esi + 0x183e], al
cmp al, 0x64
jbe 0x47b02a
mov byte [esi + 0x183e], 0x64
push 0
push edi
push 1
push str.attack_spec_ratio
call fcn.004846d0
add esp, 0x10
mov byte [esi + 0x183d], al
cmp al, 0x3c
jbe 0x47b04d
mov byte [esi + 0x183d], 0x3c
push 0
push edi
push 1
push str.armor_bless
call fcn.004846d0
add esp, 0x10
mov byte [esi + 0x183f], al
cmp al, 0x64
jbe 0x47b070
mov byte [esi + 0x183f], 0x64
push 0
push edi
push 1
push str.boss_soul_role
call fcn.004846d0
push 0
push edi
push 1
push str.boss_soul_item
mov word [esi + 0x1841], ax
call fcn.004846d0
mov ebx, dword [ebp - 0x60]
mov word [esi + 0x1843], ax
or eax, 0xffffffff
mov dword [esi + 0x1143], eax
mov dword [esi + 0x1147], eax
add esp, 0x20
or eax, eax
mov dword [esi + 0x114f], eax
mov dword [esi + 0x1153], eax
mov dword [esi + 0x114b], 0
push edi
push str.character
call fcn.00584c30
mov edi, eax
add esp, 8
test edi, edi
jne 0x47a497
call fcn.00585070
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00551e40
mov esp, ebp
pop ebp
ret