Function at 0x47a6c0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x5c43dc]
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.00553df0
add esp, 8
test eax, eax
je 0x47a71d
mov eax, dword [0x6413ac]
test eax, eax
je 0x47a6f9
push eax
call fcn.005671e0
add esp, 4
push 0x5ab6fbd
call fcn.00567110
mov ebx, eax
push 0x5ab6fbd
push 0
push ebx
mov dword [ebp - 0x60], ebx
mov dword [0x6413ac], ebx
call fcn.005517e0
jmp 0x47a751
mov eax, dword [0x6413a8]
test eax, eax
je 0x47a72f
push eax
call fcn.005671e0
add esp, 4
push 0x5ab6fbd
call fcn.00567110
push 0x5ab6fbd
push 0
push eax
mov dword [ebp - 0x60], eax
mov dword [0x6413a8], eax
call fcn.005517e0
mov ebx, dword [ebp - 0x60]
add esp, 0x10
test ebx, ebx
je 0x47b3d7
push esi
call fcn.005847d0
add esp, 4
test eax, eax
je 0x47b3d7
push edi
push 1
push str.character
call fcn.00584520
mov edi, eax
add esp, 8
test edi, edi
je 0x47b3d1
push 0
push edi
push 1
push str.code
call fcn.00484b70
add esp, 0x10
test eax, eax
je 0x47b3b9
mov esi, eax
imul esi, esi, 0x18c5
add esi, ebx
xor ebx, ebx
push ebx
push edi
push 1
push str.name
mov word [esi + 0x59], ax
call fcn.00484b70
push 0x69267c
push edi
push 1
push str.gold
mov byte [esi + 0x20], bl
mov dword [esi + 0x1611], eax
mov dword [esi + 0x3e], ebx
call fcn.005845e0
add esp, 0x20
test eax, eax
je 0x47a7f5
push ebx
push 0x69267c
call fcn.00484c00
add esp, 8
mov dword [esi + 0x3e], eax
push 1
push edi
push 1
push str.level
call fcn.00484b70
add esp, 0x10
mov word [esi + 0x4c], ax
cmp ax, bx
jne 0x47a819
mov eax, 1
mov word [esi + 0x4c], ax
push ebx
push edi
push 1
push str.real_job
call fcn.00484b70
push eax
call fcn.00479f40
push ebx
push edi
push 1
push 0x5a7f34
mov byte [esi + 0x4e], al
call fcn.00484b70
push ebx
push edi
push 1
push str.office
mov byte [esi + 0x4f], al
call fcn.00484b70
push ebx
push edi
push 1
push str.ks_score
mov word [esi + 0x938], ax
call fcn.00484b70
add esp, 0x44
push ebx
push edi
push 1
push str.ks_rscore
mov dword [esi + 0xafa], eax
call fcn.00484b70
push 1
push edi
push 1
push str.size
mov dword [esi + 0xaf6], eax
call fcn.00484b70
add esp, 0x20
cmp eax, 1
jge 0x47a89f
mov eax, 1
jmp 0x47a8a9
cmp eax, 3
jle 0x47a8a9
mov eax, 3
push ebx
push edi
push 1
push str.honor
mov byte [esi + 0x53], al
call fcn.00484b70
push ebx
push edi
push 1
push 0x5a7f00
mov word [esi + 0x57], ax
call fcn.00484b70
push ebx
push edi
push 1
push 0x5a7efc
mov dword [esi + 0x172], eax
call fcn.00484b70
push 1
push edi
push 1
push str.attr_str
mov dword [esi + 0x176], eax
call fcn.00484b70
add esp, 0x40
push 1
push edi
push 1
push str.attr_int
mov word [esi + 0x186], ax
call fcn.00484b70
push 1
push edi
push 1
push str.attr_mind
mov word [esi + 0x188], ax
call fcn.00484b70
push 1
push edi
push 1
push str.attr_con
mov word [esi + 0x18a], ax
call fcn.00484b70
push 1
push edi
push 1
push str.attr_dex
mov word [esi + 0x18c], ax
call fcn.00484b70
add esp, 0x40
push 1
push edi
push 1
push str.attr_leader
mov word [esi + 0x18e], ax
call fcn.00484b70
push 0xa
push edi
push 1
push str.attack_speed
mov word [esi + 0x190], ax
call fcn.00484b70
push 0x69267c
push edi
push 1
push str.damage
mov byte [esi + 0x192], al
call fcn.005845e0
add esp, 0x30
test eax, eax
je 0x47a9af
push 0
push 0x69267c
call fcn.00484c00
add esp, 8
mov ebx, eax
push 0
push edi
mov ecx, ebx
sar ecx, 0x10
push 1
push str.defense
mov word [esi + 0x917], cx
mov word [esi + 0x193], bx
call fcn.00484b70
push 0
push edi
push 1
push str.ratio_miss
mov word [esi + 0x195], ax
call fcn.00484b70
push 0
push edi
push 1
push str.magic_power
mov byte [esi + 0x199], al
call fcn.00484b70
push 0
push edi
push 1
push str.ratio_attack_x2
mov word [esi + 0x197], ax
call fcn.00484b70
add esp, 0x40
push 0
push edi
push 1
push str.attr_none
mov byte [esi + 0x19a], al
call fcn.00484b70
push 0x69267c
push edi
push 1
push str.spc_flag
mov dword [esi + 0x1445], eax
xor ebx, ebx
call fcn.005845e0
add esp, 0x20
test eax, eax
je 0x47aa60
push 0x69267c
call fcn.00484bb0
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.00484b70
add esp, 0x10
test eax, eax
je 0x47aa89
mov edx, 0x800
or word [esi + 0x19b], dx
push 0x69267c
push edi
push 1
push str.cnpc_flag
xor ebx, ebx
call fcn.005845e0
add esp, 0x10
test eax, eax
je 0x47aab9
push 0x69267c
call fcn.00484bb0
mov ebx, eax
add esp, 4
and ebx, 0xf0000
push 0
push edi
push 1
push str.no_noattack
mov dword [esi + 0x161d], ebx
call fcn.00484b70
add esp, 0x10
test eax, eax
je 0x47aadf
or dword [esi + 0x161d], 0x80000
push 0
push edi
push 1
push str.Dead_create_npc
call fcn.00484b70
add esp, 0x10
test eax, eax
je 0x47aafb
mov dword [esi + 0x18c0], eax
push 0
push edi
push 1
push str.Dead_create_npc_num
call fcn.00484b70
add esp, 0x10
test eax, eax
je 0x47ab17
mov byte [esi + 0x18c4], al
push 0
push edi
push 1
push str.equip_horse
call fcn.00484b70
add esp, 0x10
test eax, eax
je 0x47ab34
mov word [esi + 0x650], ax
push 0
push edi
push 1
push str.cnpc_cell
call fcn.00484b70
add esp, 0x10
mov byte [esi + 0x1621], al
cmp al, 1
jge 0x47ab57
mov byte [esi + 0x1621], 1
push 0x69267c
push edi
push 1
push str.magic_defense_type
mov dword [ebp - 0x58], 1
call fcn.005845e0
add esp, 0x10
test eax, eax
je 0x47abdc
jmp 0x47ab80
push 0x2c
push 0x69267c
call fcn.00552b79
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x47abbd
push 0
push 0x69267c
mov byte [ebx], 0
call fcn.00484af0
push 0
inc ebx
push ebx
mov dword [ebp - 0x5c], eax
call fcn.00484c00
mov ecx, dword [ebp - 0x5c]
add esp, 0x10
mov byte [esi + ecx + 0x19d], al
mov eax, dword [ebp - 0x58]
push 0x69267c
inc eax
push edi
push eax
push str.magic_defense_type
mov dword [ebp - 0x58], eax
call fcn.005845e0
add esp, 0x10
test eax, eax
jne 0x47ab80
push 0x69267c
push edi
push 1
push str.magic_attack_type
mov dword [ebp - 0x58], 1
call fcn.005845e0
add esp, 0x10
test eax, eax
je 0x47ac5c
lea esp, [esp]
push 0x2c
push 0x69267c
call fcn.00552b79
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x47ac3d
push 0
push 0x69267c
mov byte [ebx], 0
call fcn.00484af0
push 0
inc ebx
push ebx
mov dword [ebp - 0x5c], eax
call fcn.00484c00
mov edx, dword [ebp - 0x5c]
add esp, 0x10
mov byte [esi + edx + 0x1a6], al
mov eax, dword [ebp - 0x58]
push 0x69267c
inc eax
push edi
push eax
push str.magic_attack_type
mov dword [ebp - 0x58], eax
call fcn.005845e0
add esp, 0x10
test eax, eax
jne 0x47ac00
push 0
push edi
push 1
push str.equip_weapon
call fcn.00484b70
add esp, 0x10
test eax, eax
je 0x47ac79
mov word [esi + 0x23c], ax
push 0
push edi
push 1
push str.equip_horse
call fcn.00484b70
add esp, 0x10
test eax, eax
je 0x47ac96
mov word [esi + 0x650], ax
push 0
push edi
push 1
push str.equip_shield
call fcn.00484b70
add esp, 0x10
test eax, eax
je 0x47acb3
mov word [esi + 0x1c8], ax
push 0x200000
push edi
push 1
push str.country
call fcn.00484b70
push eax
call fcn.00479ee0
push 0
push edi
push 1
push 0x5a7da0
mov byte [esi + 0x54], al
call fcn.00484b70
push 0x69267c
push edi
mov word [esi + 0x15f1], ax
xor eax, eax
push 1
push str.set_color
mov word [esi + 0x160e], ax
call fcn.005845e0
add esp, 0x34
test eax, eax
je 0x47ad54
push 0x50
lea ecx, [ebp - 0x54]
push 0
push ecx
call fcn.005517e0
push 3
lea edx, [ebp - 0x54]
push edx
push 0x69267c
call fcn.00484d70
add esp, 0x18
cmp eax, 3
jne 0x47ad54
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 + 0x160e], ax
push 0x1f4
push edi
push 1
push str.attack_delay
call fcn.00484b70
push 0x1f4
push edi
push 1
push str.cast_attack_delay
mov word [esi + 0x17b0], ax
call fcn.00484b70
push 0
push edi
push 1
push str.dead_horse
mov word [esi + 0x17b2], ax
call fcn.00484b70
push 0
push edi
push 1
push str.height
mov word [esi + 0x17b4], ax
call fcn.00484b70
add esp, 0x40
cdq
push 0
push edi
xor eax, edx
sub eax, edx
push 1
push str.zoom
mov word [esi + 0x1615], ax
call fcn.00484b70
push 0
push edi
push 1
push str.class
mov dword [esi + 0x1617], eax
call fcn.00484b70
push 0x4b
push edi
push 1
push str.walk_speed
mov byte [esi + 0x1610], al
call fcn.00484b70
push 0x64
push edi
push 1
push str.run_speed
mov word [esi + 0x1600], ax
call fcn.00484b70
add esp, 0x40
push 0
push edi
push 1
push 0x5a7d30
mov word [esi + 0x1602], ax
call fcn.00484b70
push 0
push edi
push 1
push 0x5a7d2c
mov dword [esi + 0x15f3], eax
call fcn.00484b70
push 0
push edi
push 1
push str.skill_exp
mov word [esi + 0x15f9], ax
call fcn.00484b70
push 0x5a
push edi
push 1
push str.ratio_hit
mov word [esi + 0x15f7], ax
call fcn.00484b70
add esp, 0x40
push 1
push edi
mov byte [esi + 0x15ff], al
push 1
push str.attack_range
call fcn.00484b70
push 1
push edi
push 1
push str.attack_effect_range
mov byte [esi + 0x15fb], al
call fcn.00484b70
push 0
push edi
push 1
push str.attr_level
mov byte [esi + 0x15fc], al
call fcn.00484b70
push 0
push edi
push 1
push str.talk
mov byte [esi + 0x15fd], al
call fcn.00484b70
add esp, 0x40
push 0
push edi
push 1
push str.talk_no_dir
mov word [esi + 0x17e7], ax
call fcn.00484b70
push 0
push edi
push 1
push str.appear_time
mov byte [esi + 0x17d2], al
call fcn.00484b70
push 0
push edi
push 1
push str.boss_teleport
mov byte [esi + 0x17d3], al
call fcn.00484b70
push 0
push edi
push 1
push str.boss_cast_all
mov byte [esi + 0x17d4], al
call fcn.00484b70
add esp, 0x40
push 0
push edi
push 1
push str.boss_call_all
mov byte [esi + 0x17d5], al
call fcn.00484b70
push 0
push edi
push 1
push str.call_ratio
mov byte [esi + 0x17d6], al
call fcn.00484b70
push 0
push edi
push 1
push str.sell
mov byte [esi + 0x17e2], al
call fcn.00484b70
push 0
push edi
push 1
push str.sfx_move
mov byte [esi + 0x15fe], al
call fcn.00484b70
add esp, 0x40
push 0
push edi
push 1
push str.sfx_attack
mov word [esi + 0x1604], ax
call fcn.00484b70
push 0
push edi
mov word [esi + 0x1606], ax
push 1
push str.sfx_hit
call fcn.00484b70
push 0
push edi
push 1
push str.sfx_hurt
mov word [esi + 0x160c], ax
call fcn.00484b70
push 0
push edi
push 1
push str.sfx_dead
mov word [esi + 0x1608], ax
call fcn.00484b70
add esp, 0x40
push 0x69267c
push edi
push 1
push str.anti_status
mov word [esi + 0x160a], ax
xor ebx, ebx
call fcn.005845e0
add esp, 0x10
test eax, eax
je 0x47aff8
push 0x69267c
call fcn.00484bb0
add esp, 4
mov ebx, eax
lea ecx, [esi + 0x1622]
push edi
push ecx
mov dword [esi + 0x17b6], ebx
call fcn.00485690
push 0x69267c
push edi
push 1
push str.special_attack
mov dword [ebp - 0x58], 1
call fcn.005845e0
add esp, 0x18
test eax, eax
je 0x47b08d
lea ebx, [esi + 0x17a2]
cmp dword [ebp - 0x58], 3
jg 0x47b08d
push 0x50
lea edx, [ebp - 0x54]
push 0
push edx
call fcn.005517e0
push 0xa
lea eax, [ebp - 0x54]
push eax
push 0x69267c
call fcn.00484d70
add esp, 0x18
cmp eax, 2
jne 0x47b08d
mov cx, word [ebp - 0x54]
mov eax, dword [ebp - 0x58]
push 0x69267c
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.005845e0
add esp, 0x10
test eax, eax
jne 0x47b031
push 0
push edi
push 1
push str.ai_fast_run_ratio
call fcn.00484b70
push 0
push edi
push 1
push str.ai_fast_run_level
mov byte [esi + 0x17d7], al
call fcn.00484b70
push 0
push edi
push 1
push str.ai_fast_run_magic
mov byte [esi + 0x17d8], al
call fcn.00484b70
push 0
push edi
push 1
push str.ai_help_self_ratio
mov word [esi + 0x17d9], ax
call fcn.00484b70
add esp, 0x40
push 0
push edi
push 1
push str.ai_help_self_level
mov byte [esi + 0x17db], al
call fcn.00484b70
push 0
push edi
push 1
push str.ai_help_self_magic
mov byte [esi + 0x17dc], al
call fcn.00484b70
push 0
push edi
push 1
push 0x5a7bb0
mov word [esi + 0x17dd], ax
call fcn.00484b70
push 4
push edi
push 1
push str.ai_guard_range
mov dword [esi + 0x17ba], eax
call fcn.00484b70
add esp, 0x40
push 0
push edi
push 1
push str.ai_call_range
mov byte [esi + 0x17be], al
call fcn.00484b70
push 0
push edi
push 1
push str.use_leader
mov byte [esi + 0x17bf], al
call fcn.00484b70
push 0
push edi
push 1
push str.ai_reborn_range
mov word [esi + 0x161b], ax
call fcn.00484b70
push 0x10001
push edi
push 1
push str.ai_reborn_delay
mov byte [esi + 0x17c0], al
call fcn.00484c90
add esp, 0x40
push 0
mov ecx, eax
sar ecx, 0x10
push edi
mov word [esi + 0x17c1], cx
mov word [esi + 0x17c3], ax
push 1
push str.drop
call fcn.00484b70
push 0
push edi
push 1
push str.drop_mission
mov word [esi + 0x17ac], ax
call fcn.00484b70
push 0
push edi
push 1
push str.call_sol1
mov word [esi + 0x17ae], ax
call fcn.00484b70
push 0
push edi
push 1
push str.call_sol2
mov word [esi + 0x17c5], ax
call fcn.00484b70
add esp, 0x40
push 0
push edi
push 1
push str.call_sol3
mov word [esi + 0x17c7], ax
call fcn.00484b70
push 0
push edi
push 1
push str.call_sol4
mov word [esi + 0x17c9], ax
call fcn.00484b70
push 0
push edi
push 1
push str.call_sol5
mov word [esi + 0x17cb], ax
call fcn.00484b70
push 0x69267c
push edi
push 1
push str.call_sol_total
mov word [esi + 0x17cd], ax
call fcn.005845e0
add esp, 0x40
test eax, eax
je 0x47b2e2
push 0x50
xor ebx, ebx
lea edx, [ebp - 0x54]
push ebx
push edx
call fcn.005517e0
push 0xa
lea eax, [ebp - 0x54]
push eax
push 0x69267c
call fcn.00484d70
add esp, 0x18
mov dword [ebp - 0x58], eax
cmp eax, 5
jle 0x47b290
mov eax, 5
mov dword [ebp - 0x58], eax
xor edx, edx
test eax, eax
jle 0x47b2cf
lea ecx, [esi + 0x18b6]
lea esp, [esp]
cmp word [ecx - 0xf1], 0
je 0x47b2cf
movzx eax, word [ebp + edx*4 - 0x54]
mov word [ecx], ax
test ax, ax
jne 0x47b2bf
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 0x47b2a0
mov word [esi + 0x17cf], bx
cmp eax, 1
jle 0x47b2e2
or byte [esi + 0x17e9], 0x80
push 0x1e
push edi
push 1
push str.appear_ratio
call fcn.00484b70
push 0
push edi
push 1
push str.hp_low_ratio_attack
mov byte [esi + 0x17d1], al
call fcn.00484b70
add esp, 0x20
mov byte [esi + 0x17e0], al
cmp al, 0x64
jbe 0x47b31a
mov byte [esi + 0x17e0], 0x64
push 0
push edi
push 1
push str.attack_spec_ratio
call fcn.00484b70
add esp, 0x10
mov byte [esi + 0x17df], al
cmp al, 0x3c
jbe 0x47b33d
mov byte [esi + 0x17df], 0x3c
push 0
push edi
push 1
push str.armor_bless
call fcn.00484b70
add esp, 0x10
mov byte [esi + 0x17e1], al
cmp al, 0x64
jbe 0x47b360
mov byte [esi + 0x17e1], 0x64
push 0
push edi
push 1
push str.boss_soul_role
call fcn.00484b70
push 0
push edi
push 1
push str.boss_soul_item
mov word [esi + 0x17e3], ax
call fcn.00484b70
mov ebx, dword [ebp - 0x60]
mov word [esi + 0x17e5], ax
or eax, 0xffffffff
mov dword [esi + 0x10e5], eax
mov dword [esi + 0x10e9], eax
add esp, 0x20
or eax, eax
mov dword [esi + 0x10f1], eax
mov dword [esi + 0x10f5], eax
mov dword [esi + 0x10ed], 0
push edi
push str.character
call fcn.00584580
mov edi, eax
add esp, 8
test edi, edi
jne 0x47a787
call fcn.005849c0
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.005517d0
mov esp, ebp
pop ebp
ret