Function at 0x45dee0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x62624c
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x690a1c]
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
mov dword [ebp - 0xbc], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xe4], 0
push dword [eax]
call fcn.00469310
mov esi, eax
add esp, 4
mov dword [ebp - 0x110], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x45f233
push 5
push str.errno
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0xffffffffffffffff
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
push esi
call fcn.0046a3b0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 0
mov edi, eax
cmp edx, 0x10
jb 0x45dfb0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45dfa6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f257
push edx
push ecx
call fcn.004fa0f5
add esp, 8
test edi, edi
jne 0x45f22a
push str.data
push esi
call fcn.00469250
add esp, 8
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x45f22a
push 0x63b104
push eax
call fcn.00469250
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x45f22a
call fcn.00407410
mov ecx, eax
test ecx, ecx
je 0x45f25c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xec], eax
push 0x6331a8
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 2
call fcn.004090c0
test al, al
jne 0x45e032
push edi
push 0x6331a8
lea ecx, [ebp - 0xec]
call fcn.0040b220
push 9
push str.condition
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.004081d0
push 0xfde9
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xc4]
push ebx
push eax
call fcn.0046a4e0
add esp, 0x14
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x45e0b3
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e0a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f266
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov edx, dword [ebp - 0xec]
or edi, 0xffffffff
mov byte [ebp - 4], 7
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e0e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xc4]
cmp dword [eax - 0xc], 0
jne 0x45e117
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x45f22a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45f22a
push 8
push str.temp_min
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 8
push eax
push ebx
call fcn.0046a3b0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 7
cmp edx, 0x10
jb 0x45e189
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e17f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f26b
push edx
push ecx
call fcn.004fa0f5
add esp, 8
push 8
push str.temp_max
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
push ebx
call fcn.0046a3b0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 7
cmp edx, 0x10
jb 0x45e1fb
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e1f1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f270
push edx
push ecx
call fcn.004fa0f5
add esp, 8
call fcn.00407410
mov ecx, eax
test ecx, ecx
je 0x45f275
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xf0], eax
push 0x6331a8
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0xa
call fcn.004090c0
test al, al
jne 0x45e242
push 0
push 0x6331a8
lea ecx, [ebp - 0xf0]
call fcn.0040b220
push 7
push str.iconUrl
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.004081d0
push 0xfde9
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xd0]
push ebx
push eax
call fcn.0046a4e0
add esp, 0x14
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x45e2c3
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e2b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f27f
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov edx, dword [ebp - 0xf0]
mov eax, edi
mov byte [ebp - 4], 0xf
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e2f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xd0]
cmp dword [eax - 0xc], 0
jne 0x45e32b
lea edx, [eax - 0x10]
mov byte [ebp - 4], 7
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e31d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xc4]
add edx, 0xfffffff0
jmp 0x45e0f8
push str.forecast
push dword [ebp - 0xc0]
call fcn.00469250
add esp, 8
mov dword [ebp - 0xe0], eax
test eax, eax
jne 0x45e353
mov edx, dword [ebp - 0xd0]
add edx, 0xfffffff0
jmp 0x45e305
push 0
push eax
call fcn.00469210
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x45e36f
mov edx, dword [ebp - 0xd0]
add edx, 0xfffffff0
jmp 0x45e305
call fcn.00407410
mov ecx, eax
test ecx, ecx
je 0x45f284
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xf4], eax
push 0x6331a8
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x10
call fcn.004090c0
test al, al
jne 0x45e3b6
push 0
push 0x6331a8
lea ecx, [ebp - 0xf4]
call fcn.0040b220
push 9
push str.condition
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.004081d0
push 0xfde9
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xd8]
push ebx
push eax
call fcn.0046a4e0
add esp, 0x14
mov edx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x45e437
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e42d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f28e
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov edx, dword [ebp - 0xf4]
mov eax, edi
mov byte [ebp - 4], 0x15
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e46a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xd8]
cmp dword [eax - 0xc], 0
jne 0x45e49f
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0xf
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e491
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xd0]
add edx, 0xfffffff0
jmp 0x45e305
push 8
push str.temp_min
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x16
push eax
push ebx
call fcn.0046a3b0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 0x15
cmp edx, 0x10
jb 0x45e511
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e507
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f293
push edx
push ecx
call fcn.004fa0f5
add esp, 8
push 8
push str.temp_max
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x17
push eax
push ebx
call fcn.0046a3b0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x15
cmp edx, 0x10
jb 0x45e583
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e579
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f298
push edx
push ecx
call fcn.004fa0f5
add esp, 8
call fcn.00407410
mov ecx, eax
test ecx, ecx
je 0x45f29d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xf8], eax
push 0x6331a8
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x18
call fcn.004090c0
test al, al
jne 0x45e5ca
push 0
push 0x6331a8
lea ecx, [ebp - 0xf8]
call fcn.0040b220
push 7
push str.iconUrl
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
call fcn.004081d0
push 0xfde9
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xdc]
push ebx
push eax
call fcn.0046a4e0
add esp, 0x14
mov edx, dword [ebp - 0x74]
mov byte [ebp - 4], 0x1c
cmp edx, 0x10
jb 0x45e657
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e64d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f2a7
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov edx, dword [ebp - 0xf8]
mov eax, edi
mov byte [ebp - 4], 0x1d
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e68d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xdc]
cmp dword [eax - 0xc], 0
jne 0x45e6c2
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0x15
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e6b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xd8]
add edx, 0xfffffff0
jmp 0x45e479
push 1
push dword [ebp - 0xe0]
call fcn.00469210
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x45e6e3
mov edx, dword [ebp - 0xdc]
add edx, 0xfffffff0
jmp 0x45e69c
call fcn.00407410
mov ecx, eax
test ecx, ecx
je 0x45f2ac
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xfc], eax
push 0x6331a8
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 0x1e
call fcn.004090c0
test al, al
jne 0x45e72a
push 0
push 0x6331a8
lea ecx, [ebp - 0xfc]
call fcn.0040b220
push 9
push str.condition
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.004081d0
push 0xfde9
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x100]
push ebx
push eax
call fcn.0046a4e0
add esp, 0x14
mov edx, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x22
cmp edx, 0x10
jb 0x45e7c0
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e7b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f2b6
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov edx, dword [ebp - 0xfc]
mov eax, edi
mov byte [ebp - 4], 0x23
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e7fc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x100]
cmp dword [eax - 0xc], 0
jne 0x45e831
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0x1d
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45e823
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xdc]
add edx, 0xfffffff0
jmp 0x45e69c
push 8
push str.temp_min
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x24
push eax
push ebx
call fcn.0046a3b0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov byte [ebp - 4], 0x23
cmp edx, 0x10
jb 0x45e8a3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e899
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f2bb
push edx
push ecx
call fcn.004fa0f5
add esp, 8
push 8
push str.temp_max
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x25
push eax
push ebx
call fcn.0046a3b0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ebp - 0xe8], eax
mov byte [ebp - 4], 0x23
cmp edx, 0x10
jb 0x45e915
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e90b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f2c0
push edx
push ecx
call fcn.004fa0f5
add esp, 8
call fcn.00407410
mov ecx, eax
test ecx, ecx
je 0x45f2c5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xe0], eax
push 0x6331a8
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x26
call fcn.004090c0
test al, al
jne 0x45e95c
push 0
push 0x6331a8
lea ecx, [ebp - 0xe0]
call fcn.0040b220
push 7
push str.iconUrl
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x27
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.004081d0
push 0xfde9
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 0x28
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x104]
push ebx
push eax
call fcn.0046a4e0
add esp, 0x14
mov edx, dword [ebp - 0xa4]
mov byte [ebp - 4], 0x2a
cmp edx, 0x10
jb 0x45e9f2
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45e9e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f2cf
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
mov edx, dword [ebp - 0xe0]
mov eax, edi
mov byte [ebp - 4], 0x2b
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ea2e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x104]
cmp dword [eax - 0xc], 0
jne 0x45ea63
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0x23
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ea55
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x100]
add edx, 0xfffffff0
jmp 0x45e80b
push 8
push str.cityCode
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0xffffffffffffffff
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x2c
push eax
push dword [ebp - 0xc0]
call fcn.0046a3b0
mov edx, dword [ebp - 0x14]
add esp, 0xc
mov byte [ebp - 4], 0x2b
mov ebx, eax
cmp edx, 0x10
jb 0x45ead6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45eacc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f2d4
push edx
push ecx
call fcn.004fa0f5
add esp, 8
cmp ebx, 0xffffffff
je 0x45eaf3
mov eax, dword [ebp - 0xbc]
push ebx
add eax, 8
push 0x633094
push eax
call fcn.00407320
add esp, 0xc
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc4]
add ecx, 0x2c
mov dword [ebp - 0xe4], ecx
mov ebx, dword [ecx]
lea edx, [eax - 0x10]
sub ebx, 0x10
cmp edx, ebx
je 0x45eb68
cmp dword [ebx + 0xc], 0
jl 0x45eb5f
mov ecx, dword [edx]
cmp ecx, dword [ebx]
jne 0x45eb59
push edx
call fcn.00407150
mov dword [ebp - 0xe4], eax
add esp, 4
mov ecx, edi
lea eax, [ebx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45eb45
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xe4]
add eax, 0x10
mov dword [ecx + 0x2c], eax
jmp 0x45eb68
mov ecx, dword [ebp - 0xe4]
push dword [eax - 0xc]
push eax
call fcn.0040b220
push dword [ebp - 0x108]
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xd4]
add eax, 0x30
push str._d_d
push eax
call fcn.00407320
mov edx, dword [ebp - 0xbc]
add esp, 0x10
mov eax, dword [ebp - 0xd0]
mov ebx, dword [edx + 0x34]
lea ecx, [eax - 0x10]
sub ebx, 0x10
mov dword [ebp - 0xd4], ecx
cmp ecx, ebx
je 0x45ec00
cmp dword [ebx + 0xc], 0
jl 0x45ebf4
mov ecx, dword [ecx]
cmp ecx, dword [ebx]
jne 0x45ebf4
push dword [ebp - 0xd4]
call fcn.00407150
mov dword [ebp - 0xd4], eax
add esp, 4
mov ecx, edi
lea eax, [ebx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ebe0
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd4]
add eax, 0x10
mov dword [ecx + 0x34], eax
jmp 0x45ec00
push dword [eax - 0xc]
lea ecx, [edx + 0x34]
push eax
call fcn.0040b220
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd8]
mov ebx, dword [edx + 0x38]
lea ecx, [eax - 0x10]
sub ebx, 0x10
mov dword [ebp - 0xd4], ecx
cmp ecx, ebx
je 0x45ec75
cmp dword [ebx + 0xc], 0
jl 0x45ec69
mov ecx, dword [ecx]
cmp ecx, dword [ebx]
jne 0x45ec69
push dword [ebp - 0xd4]
call fcn.00407150
mov dword [ebp - 0xd4], eax
add esp, 4
mov ecx, edi
lea eax, [ebx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ec55
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd4]
add eax, 0x10
mov dword [ecx + 0x38], eax
jmp 0x45ec75
push dword [eax - 0xc]
lea ecx, [edx + 0x38]
push eax
call fcn.0040b220
push dword [ebp - 0x10c]
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xc8]
add eax, 0x3c
push str._d_d
push eax
call fcn.00407320
mov edx, dword [ebp - 0xbc]
add esp, 0x10
mov eax, dword [ebp - 0xdc]
mov ebx, dword [edx + 0x40]
lea ecx, [eax - 0x10]
sub ebx, 0x10
mov dword [ebp - 0xc8], ecx
cmp ecx, ebx
je 0x45ed0d
cmp dword [ebx + 0xc], 0
jl 0x45ed01
mov ecx, dword [ecx]
cmp ecx, dword [ebx]
jne 0x45ed01
push dword [ebp - 0xc8]
call fcn.00407150
mov dword [ebp - 0xc8], eax
add esp, 4
mov ecx, edi
lea eax, [ebx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45eced
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc8]
add eax, 0x10
mov dword [ecx + 0x40], eax
jmp 0x45ed0d
push dword [eax - 0xc]
lea ecx, [edx + 0x40]
push eax
call fcn.0040b220
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x100]
mov ebx, dword [edx + 0x44]
lea ecx, [eax - 0x10]
sub ebx, 0x10
mov dword [ebp - 0xc8], ecx
cmp ecx, ebx
je 0x45ed82
cmp dword [ebx + 0xc], 0
jl 0x45ed76
mov ecx, dword [ecx]
cmp ecx, dword [ebx]
jne 0x45ed76
push dword [ebp - 0xc8]
call fcn.00407150
mov dword [ebp - 0xc8], eax
add esp, 4
mov ecx, edi
lea eax, [ebx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45ed62
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc8]
add eax, 0x10
mov dword [ecx + 0x44], eax
jmp 0x45ed82
push dword [eax - 0xc]
lea ecx, [edx + 0x44]
push eax
call fcn.0040b220
push dword [ebp - 0xe8]
mov eax, dword [ebp - 0xbc]
push dword [ebp - 0xcc]
add eax, 0x48
push str._d_d
push eax
call fcn.00407320
mov edx, dword [ebp - 0xbc]
add esp, 0x10
mov eax, dword [ebp - 0x104]
mov ebx, dword [edx + 0x4c]
lea ecx, [eax - 0x10]
sub ebx, 0x10
mov dword [ebp - 0xcc], ecx
cmp ecx, ebx
je 0x45ee1a
cmp dword [ebx + 0xc], 0
jl 0x45ee0e
mov ecx, dword [ecx]
cmp ecx, dword [ebx]
jne 0x45ee0e
push dword [ebp - 0xcc]
call fcn.00407150
mov dword [ebp - 0xcc], eax
add esp, 4
mov ecx, edi
lea eax, [ebx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x45edfa
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xcc]
add eax, 0x10
mov dword [ecx + 0x4c], eax
jmp 0x45ee1a
push dword [eax - 0xc]
lea ecx, [edx + 0x4c]
push eax
call fcn.0040b220
push str.addr
push dword [ebp - 0xc0]
mov dword [ebp - 0xe4], 1
call fcn.00469250
mov ebx, eax
add esp, 8
mov dword [ebp - 0xc8], ebx
test ebx, ebx
je 0x45f166
call fcn.00407410
mov ecx, eax
test ecx, ecx
je 0x45f2d9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc0], eax
push 0x6331a8
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x2d
call fcn.004090c0
test al, al
jne 0x45ee8e
push 0
push 0x6331a8
lea ecx, [ebp - 0xc0]
call fcn.0040b220
push 8
push str.province
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0xfde9
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe8]
push ebx
push eax
call fcn.0046a4e0
add esp, 0x14
mov ecx, dword [eax]
mov eax, dword [ebp - 0xbc]
mov byte [ebp - 4], 0x30
lea edx, [ecx - 0x10]
mov ebx, dword [eax]
sub ebx, 0x10
cmp edx, ebx
je 0x45ef46
cmp dword [ebx + 0xc], 0
jl 0x45ef33
mov eax, dword [edx]
cmp eax, dword [ebx]
jne 0x45ef33
push edx
call fcn.00407150
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, edi
lea edx, [ebx + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x45ef26
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xbc]
add eax, 0x10
mov dword [ebx], eax
jmp 0x45ef48
push dword [ecx - 0xc]
mov ebx, dword [ebp - 0xbc]
push ecx
mov ecx, ebx
call fcn.0040b220
jmp 0x45ef48
mov ebx, eax
mov edx, dword [ebp - 0xe8]
mov eax, edi
mov byte [ebp - 4], 0x2f
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ef69
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x2e
cmp edx, 0x10
jb 0x45efa1
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45ef97
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f2e3
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov edx, dword [ebp - 0xc0]
mov eax, edi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0x2b
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45efd4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00407410
mov ecx, eax
test ecx, ecx
je 0x45f2e8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0xc0], eax
push 0x6331a8
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x31
call fcn.004090c0
test al, al
jne 0x45f01b
push 0
push 0x6331a8
lea ecx, [ebp - 0xc0]
call fcn.0040b220
push 4
push str.city
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x32
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004081d0
push 0xfde9
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0xc8]
lea eax, [ebp - 0xe8]
push eax
call fcn.0046a4e0
add esp, 0x14
mov ecx, dword [eax]
lea edx, [ebx + 4]
mov ebx, dword [edx]
sub ebx, 0x10
mov byte [ebp - 4], 0x34
lea eax, [ecx - 0x10]
mov dword [ebp - 0xcc], eax
cmp eax, ebx
je 0x45f0da
cmp dword [ebx + 0xc], 0
jl 0x45f0cf
mov eax, dword [ecx - 0x10]
cmp eax, dword [ebx]
jne 0x45f0cf
push dword [ebp - 0xcc]
call fcn.00407150
add esp, 4
mov dword [ebp - 0xcc], eax
mov ecx, edi
lea edx, [ebx + 0xc]
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x45f0c1
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xbc]
add eax, 0x10
mov dword [ecx + 4], eax
jmp 0x45f0da
push dword [ecx - 0xc]
push ecx
mov ecx, edx
call fcn.0040b220
mov edx, dword [ebp - 0xe8]
mov eax, edi
mov byte [ebp - 4], 0x33
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45f0fb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x32
cmp edx, 0x10
jb 0x45f133
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45f129
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45f2f2
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov edx, dword [ebp - 0xc0]
mov eax, edi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0x2b
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45f166
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x104]
mov eax, edi
mov byte [ebp - 4], 0x23
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45f187
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x100]
mov eax, edi
mov byte [ebp - 4], 0x1d
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45f1a8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xdc]
mov eax, edi
mov byte [ebp - 4], 0x15
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45f1c9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xd8]
mov eax, edi
mov byte [ebp - 4], 0xf
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45f1ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xd0]
mov eax, edi
mov byte [ebp - 4], 7
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45f20b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xc4]
mov byte [ebp - 4], 0
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], edi
dec edi
test edi, edi
jg 0x45f22a
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
push esi
call fcn.004691a0
add esp, 4
mov eax, dword [ebp - 0xe4]
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.004fa103
mov esp, ebp
pop ebp
ret 4
call fcn.005e72a0
push 0x80004005
call fcn.00407120
call fcn.005e72a0
call fcn.005e72a0
call fcn.005e72a0
push 0x80004005
call fcn.00407120
call fcn.005e72a0
push 0x80004005
call fcn.00407120
call fcn.005e72a0
call fcn.005e72a0
call fcn.005e72a0
push 0x80004005
call fcn.00407120
call fcn.005e72a0
push 0x80004005
call fcn.00407120
call fcn.005e72a0
call fcn.005e72a0
call fcn.005e72a0
push 0x80004005
call fcn.00407120
call fcn.005e72a0
call fcn.005e72a0
push 0x80004005
call fcn.00407120
call fcn.005e72a0
push 0x80004005
call fcn.00407120
call fcn.005e72a0
int3