Function at 0x476e30
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x1c8
xor eax, eax
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ecx, 0x10
lea edi, [esp + 0x28]
mov bp, word [esi + 0x11ec]
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0x68]
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0xa8]
mov bx, word [esi + 0x11ee]
rep stosd dword es:[edi], eax
movsx eax, byte [esi + 0x1276]
cmp eax, 5
ja case.default.0x476e80
jmp dword [eax*4 + 0x4780ec]
mov ecx, dword [esi + 0x38220]
test ecx, ecx
je 0x476eab
mov eax, dword [esi + 0x72578]
push 0
push 0
push eax
movsx edx, bx
movsx eax, bp
push 5
push edx
push eax
call fcn.0049e020
mov eax, dword [esi + 0x11ac]
add eax, 0xfffffff1
cmp eax, 0x4b
ja case.0x476ec5.22
xor ecx, ecx
mov cl, byte [eax + 0x478124]
jmp dword [ecx*4 + 0x478104]
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c2530
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c2530
jmp 0x4770c3
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c2500
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c2500
jmp 0x4770c3
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c24ec
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c24ec
jmp 0x4770c3
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c24c4
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c24c4
jmp 0x4770c3
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c24b0
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c24b0
jmp 0x4770c3
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c249c
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c249c
jmp 0x4770c3
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c4818
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c4818
movsx eax, bx
add eax, 0x16
mov ecx, edi
push eax
movsx eax, bp
add eax, 0x20
push eax
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov eax, dword [esi + 0x11ac]
cmp eax, 0x19
jne 0x4771ba
movsx ecx, word [esp + 0x1dc]
movsx eax, bp
mov dword [esp + 0x14], eax
lea edx, [eax + 0x19]
cmp ecx, edx
jle 0x47716c
add eax, 0x64
cmp ecx, eax
jge 0x47716c
movsx ecx, word [esp + 0x1e0]
movsx eax, bx
mov dword [esp + 0x10], eax
lea ebp, [eax + 0x37]
cmp ecx, ebp
jle 0x47716c
add eax, 0x46
cmp ecx, eax
jge 0x47716c
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
mov ebx, dword [esp + 0x14]
push 0xffffff
push 0x4c4810
push ebp
lea eax, [ebx + 0x1c]
mov ecx, edi
push eax
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c4810
jmp 0x47733c
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx ebp, bx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], ebp
add ebp, 0x37
push 0x320004
push 0x4c4810
lea ecx, [ebx + 0x1c]
push ebp
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c4810
jmp 0x47733c
movsx ecx, word [esp + 0x1dc]
cmp eax, 0x14
movsx eax, bp
mov dword [esp + 0x14], eax
lea edx, [eax + 0x19]
jne 0x47728f
cmp ecx, edx
jle 0x477241
add eax, 0x64
cmp ecx, eax
jge 0x477241
movsx ecx, word [esp + 0x1e0]
movsx eax, bx
mov dword [esp + 0x10], eax
lea ebp, [eax + 0x37]
cmp ecx, ebp
jle 0x477241
add eax, 0x46
cmp ecx, eax
jge 0x477241
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
mov ebx, dword [esp + 0x14]
push 0xffffff
push 0x4c4804
push ebp
lea eax, [ebx + 0x1c]
mov ecx, edi
push eax
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c4804
jmp 0x47733c
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx ebp, bx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], ebp
add ebp, 0x37
push 0x320004
push 0x4c4804
lea ecx, [ebx + 0x1c]
push ebp
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c4804
jmp 0x47733c
cmp ecx, edx
jle 0x4772f3
add eax, 0x64
cmp ecx, eax
jge 0x4772f3
movsx ecx, word [esp + 0x1e0]
movsx eax, bx
mov dword [esp + 0x10], eax
lea ebp, [eax + 0x37]
cmp ecx, ebp
jle 0x4772f3
add eax, 0x46
cmp ecx, eax
jge 0x4772f3
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
mov ebx, dword [esp + 0x14]
push 0xffffff
push 0x4c47fc
push ebp
lea eax, [ebx + 0x1c]
mov ecx, edi
push eax
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
jmp 0x477337
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx ebp, bx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], ebp
add ebp, 0x37
push 0x320004
push 0x4c47fc
lea ecx, [ebx + 0x1c]
push ebp
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47fc
add ebx, 0x1d
push ebp
push ebx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
lea ecx, [esi + 0x72bcc]
call fcn.004a6fd0
test eax, eax
jne case.default.0x476e80
cmp dword [esi + 0x11ac], 0x5a
je case.default.0x476e80
mov ebx, dword [esp + 0x14]
movsx eax, word [esp + 0x1dc]
lea esi, [ebx + 0x7d]
cmp eax, esi
jle 0x4773de
lea edx, [ebx + 0xb4]
cmp eax, edx
jge 0x4773de
movsx eax, word [esp + 0x1e0]
cmp eax, ebp
jle 0x4773de
mov ecx, dword [esp + 0x10]
add ecx, 0x46
cmp eax, ecx
jge 0x4773de
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c47f4
push ebp
push esi
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c47f4
push ebp
add ebx, 0x7e
jmp 0x4780ce
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47f4
push ebp
push esi
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47f4
push ebp
add ebx, 0x7e
jmp 0x4780ce
mov ecx, dword [esi + 0x38220]
test ecx, ecx
je 0x47743d
mov edx, dword [esi + 0x72578]
push 0
push 0
push edx
movsx eax, bx
movsx edx, bp
push 6
push eax
push edx
call fcn.0049e020
mov eax, dword [esi + 0x11a4]
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x68]
push ecx
mov eax, dword [esi + eax*4 + 0x6f87c]
push edx
lea ecx, [esp + 0x30]
mov edx, dword [eax + 0x48]
push ecx
add eax, 4
push edx
push eax
mov ecx, esi
call fcn.004618f0
mov ecx, dword [esi + 0x11ac]
mov edi, dword [sym.imp.user32.dll_wsprintfA]
lea eax, [esp + 0x28]
lea edx, [esp + 0xe8]
push eax
push ecx
push 0x4c47e8
push edx
call edi
lea eax, [esi + 0x11f6]
lea ecx, [esp + 0x170]
push eax
push 0x4bc748
push ecx
call edi
add esi, 0x7f1c
add esp, 0x1c
mov ecx, esi
call fcn.00402880
movsx ebx, bx
movsx edi, bp
lea edx, [esp + 0xe8]
push 0x19192d
lea eax, [ebx + 0x19]
lea ebp, [edi + 0x18]
push edx
push eax
push ebp
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
lea ecx, [esp + 0x160]
push 0x19192d
lea edx, [ebx + 0x28]
push ecx
push edx
push ebp
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
movsx eax, word [esp + 0x1dc]
lea ecx, [edi + 0x19]
cmp eax, ecx
jle 0x477572
movsx eax, word [esp + 0x1dc]
lea edx, [edi + 0x64]
cmp eax, edx
jge 0x477572
movsx eax, word [esp + 0x1e0]
lea ebp, [ebx + 0x37]
cmp eax, ebp
jle 0x477572
lea ecx, [ebx + 0x46]
cmp eax, ecx
jge 0x477572
mov ecx, esi
call fcn.00402880
push 0xffffff
push 0x4c47e0
lea edx, [edi + 0x1c]
push ebp
push edx
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
push 0xffffff
push 0x4c47e0
lea eax, [edi + 0x1d]
push ebp
push eax
jmp 0x4775af
mov ecx, esi
call fcn.00402880
lea ebp, [ebx + 0x37]
push 0x320004
push 0x4c47e0
lea ecx, [edi + 0x1c]
push ebp
push ecx
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
push 0x320004
push 0x4c47e0
lea edx, [edi + 0x1d]
push ebp
push edx
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
movsx eax, word [esp + 0x1dc]
lea ecx, [edi + 0x9b]
cmp eax, ecx
jle 0x477647
lea ecx, [edi + 0xd2]
cmp eax, ecx
jge 0x477647
movsx eax, word [esp + 0x1e0]
cmp eax, ebp
jle 0x477647
add ebx, 0x46
cmp eax, ebx
jge 0x477647
mov ecx, esi
call fcn.00402880
push 0xffffff
push 0x4c37fc
lea eax, [edi + 0x9b]
push ebp
push eax
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
push 0xffffff
push 0x4c37fc
add edi, 0x9c
push ebp
push edi
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret 8
mov ecx, esi
call fcn.00402880
push 0x320004
push 0x4c37fc
lea eax, [edi + 0x9b]
push ebp
push eax
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
push 0x320004
push 0x4c37fc
add edi, 0x9c
push ebp
push edi
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret 8
mov ecx, dword [esi + 0x38220]
test ecx, ecx
je 0x4776c6
mov edx, dword [esi + 0x72578]
push 0
push 0
push edx
movsx eax, bx
movsx edx, bp
push 5
push eax
push edx
call fcn.0049e020
mov eax, dword [esi + 0x11a4]
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x68]
push ecx
mov eax, dword [esi + eax*4 + 0x6f87c]
push edx
lea ecx, [esp + 0x30]
mov edx, dword [eax + 0x48]
push ecx
add eax, 4
push edx
push eax
mov ecx, esi
call fcn.004618f0
mov ecx, dword [esi + 0x11ac]
mov edi, dword [sym.imp.user32.dll_wsprintfA]
lea eax, [esp + 0x28]
lea edx, [esp + 0xe8]
push eax
push ecx
push 0x4c47e8
push edx
call edi
lea eax, [esi + 0x11f6]
lea ecx, [esp + 0x170]
push eax
push 0x4bc748
push ecx
call edi
lea edi, [esi + 0x7f1c]
add esp, 0x1c
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ebp, bp
mov dword [esp + 0x10], eax
lea edx, [esp + 0xe8]
push 0x19192d
add eax, 0x14
lea ebx, [ebp + 0x18]
push edx
push eax
push ebx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x160]
push 0x19192d
add ecx, 0x23
push eax
push ecx
push ebx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
movsx eax, word [esp + 0x1dc]
lea edx, [ebp + 0x19]
cmp eax, edx
jle 0x4777fd
movsx eax, word [esp + 0x1dc]
lea ecx, [ebp + 0x64]
cmp eax, ecx
jge 0x4777fd
mov ecx, dword [esp + 0x10]
movsx eax, word [esp + 0x1e0]
lea ebx, [ecx + 0x37]
cmp eax, ebx
jle 0x4777fd
add ecx, 0x46
cmp eax, ecx
jge 0x4777fd
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c47d8
lea edx, [ebp + 0x1c]
push ebx
push edx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
jmp 0x477834
mov ecx, edi
call fcn.00402880
mov ecx, dword [esp + 0x10]
push 0x320004
push 0x4c47d8
lea edx, [ebp + 0x1c]
lea ebx, [ecx + 0x37]
mov ecx, edi
push ebx
push edx
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47d8
lea eax, [ebp + 0x1d]
push ebx
push eax
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, dword [esi + 0x11a4]
mov edx, dword [esi + ecx*4 + 0x6f87c]
mov al, byte [edx + 0x19]
cmp al, 5
je case.default.0x476e80
cmp al, 6
je case.default.0x476e80
movsx eax, word [esp + 0x1dc]
lea esi, [ebp + 0x7d]
cmp eax, esi
jle 0x4778d8
lea ecx, [ebp + 0xb4]
cmp eax, ecx
jge 0x4778d8
movsx eax, word [esp + 0x1e0]
cmp eax, ebx
jle 0x4778d8
mov edx, dword [esp + 0x10]
add edx, 0x46
cmp eax, edx
jge 0x4778d8
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c47d0
push ebx
push esi
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c47d0
add ebp, 0x7e
push ebx
push ebp
jmp 0x4780cf
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47d0
push ebx
push esi
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47d0
add ebp, 0x7e
push ebx
push ebp
jmp 0x4780cf
mov ecx, dword [esi + 0x38220]
test ecx, ecx
je 0x477938
mov eax, dword [esi + 0x72578]
push 0
push 0
push eax
movsx edx, bx
movsx eax, bp
push 6
push edx
push eax
call fcn.0049e020
mov ecx, dword [esi + 0x11a4]
lea edx, [esp + 0xa8]
push edx
lea edx, [esp + 0x2c]
mov eax, dword [esi + ecx*4 + 0x6f87c]
lea ecx, [esp + 0x6c]
push ecx
push edx
mov ecx, dword [eax + 0x48]
add eax, 4
push ecx
push eax
mov ecx, esi
call fcn.004618f0
mov eax, dword [esi + 0x11ac]
mov edi, dword [sym.imp.user32.dll_wsprintfA]
lea edx, [esp + 0x28]
lea ecx, [esp + 0xe8]
push edx
push eax
push 0x4c47e8
push ecx
call edi
lea edx, [esi + 0x11f6]
lea eax, [esp + 0x170]
push edx
push 0x4bc748
push eax
call edi
add esi, 0x7f1c
add esp, 0x1c
mov ecx, esi
movsx ebx, bx
call fcn.00402880
movsx edi, bp
lea eax, [ebx + 0x14]
lea edx, [esp + 0x18]
lea ebp, [edi + 0xf0]
lea ecx, [eax + 0xf]
push ecx
push ebp
push eax
push edi
push edx
call dword [sym.imp.user32.dll_SetRect]
lea eax, [esp + 0xe8]
push 0x19192d
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.004028e0
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
lea eax, [ebx + 0x23]
lea edx, [eax + 0xf]
push edx
push ebp
push eax
lea eax, [esp + 0x24]
push edi
push eax
call dword [sym.imp.user32.dll_SetRect]
lea ecx, [esp + 0x160]
push 0x19192d
lea edx, [esp + 0x1c]
push ecx
push edx
mov ecx, esi
call fcn.004028e0
mov ecx, esi
call fcn.004028c0
movsx eax, word [esp + 0x1dc]
lea ecx, [edi + 0x19]
cmp eax, ecx
jle 0x477aab
lea edx, [edi + 0x64]
cmp eax, edx
jge 0x477aab
movsx eax, word [esp + 0x1e0]
lea ebp, [ebx + 0x37]
cmp eax, ebp
jle 0x477aab
lea ecx, [ebx + 0x46]
cmp eax, ecx
jge 0x477aab
mov ecx, esi
call fcn.00402880
push 0xffffff
push 0x4c47c8
lea edx, [edi + 0x1c]
push ebp
push edx
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
push 0xffffff
push 0x4c47c8
add edi, 0x1d
push ebp
push edi
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret 8
mov ecx, esi
call fcn.00402880
add ebx, 0x37
push 0x320004
push 0x4c47c8
lea eax, [edi + 0x1c]
push ebx
push eax
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
push 0x320004
push 0x4c47c8
add edi, 0x1d
push ebx
push edi
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret 8
mov ecx, dword [esi + 0x38220]
test ecx, ecx
je 0x477b27
mov edx, dword [esi + 0x72578]
push 0
push 0
push edx
movsx eax, bx
movsx edx, bp
push 5
push eax
push edx
call fcn.0049e020
mov eax, dword [esi + 0x11ac]
add eax, 0xffffffeb
cmp eax, 0x30
ja case.0x477b41.26
xor ecx, ecx
mov cl, byte [eax + 0x478188]
jmp dword [ecx*4 + 0x478170]
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x19
push 0x4bd454
add ecx, 0x23
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4bd454
jmp 0x477cad
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x19
push 0x4bd410
add ecx, 0x23
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4bd410
jmp 0x477cad
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x19
push 0x4c2218
add ecx, 0x23
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c2218
jmp 0x477cad
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x19
push 0x4bd2b4
add ecx, 0x23
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4bd2b4
jmp 0x477cad
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x19
push 0x4bd2ac
add ecx, 0x23
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4bd2ac
movsx eax, bx
add eax, 0x18
mov ecx, edi
push eax
movsx eax, bp
add eax, 0x22
push eax
call fcn.00402520
mov ecx, edi
call fcn.004028c0
lea ecx, [esi + 0x72bcc]
call fcn.004a6fd0
test eax, eax
jne case.default.0x476e80
movsx eax, word [esp + 0x1dc]
movsx ebp, bp
lea ecx, [ebp + 0x7d]
cmp eax, ecx
jle 0x477d49
lea edx, [ebp + 0xb4]
cmp eax, edx
jge 0x477d49
movsx ecx, word [esp + 0x1e0]
movsx eax, bx
lea edi, [eax + 0x37]
cmp ecx, edi
jle 0x477d49
add eax, 0x46
cmp ecx, eax
jge 0x477d49
add esi, 0x7f1c
mov ecx, esi
call fcn.00402880
push 0xffffff
push 0x4c47f4
lea eax, [ebp + 0x7d]
push edi
push eax
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
push 0xffffff
jmp 0x477d85
add esi, 0x7f1c
mov ecx, esi
call fcn.00402880
movsx edi, bx
add edi, 0x37
push 0x320004
push 0x4c47f4
lea eax, [ebp + 0x7d]
push edi
push eax
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
mov ecx, esi
call fcn.00402880
push 0x320004
push 0x4c47f4
add ebp, 0x7e
push edi
push ebp
mov ecx, esi
call fcn.00402520
mov ecx, esi
call fcn.004028c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret 8
mov ecx, dword [esi + 0x38220]
test ecx, ecx
je 0x477dce
mov eax, dword [esi + 0x72578]
push 0
push 0
push eax
movsx edx, bx
movsx eax, bp
push 6
push edx
push eax
call fcn.0049e020
mov eax, dword [esi + 0x11ac]
cmp eax, 0xf
je 0x477e28
cmp eax, 0x18
jne 0x477e88
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c24c4
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c24c4
jmp 0x477e6c
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx eax, bx
movsx ecx, bp
push 0x19192d
add eax, 0x17
push 0x4c2530
add ecx, 0x21
push eax
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c2530
movsx eax, bx
add eax, 0x16
mov ecx, edi
push eax
movsx eax, bp
add eax, 0x20
push eax
call fcn.00402520
mov ecx, edi
call fcn.004028c0
movsx ecx, word [esp + 0x1dc]
movsx eax, bp
mov dword [esp + 0x14], eax
lea edx, [eax + 0x19]
cmp ecx, edx
jle 0x477f16
add eax, 0x64
cmp ecx, eax
jge 0x477f16
movsx ecx, word [esp + 0x1e0]
movsx eax, bx
mov dword [esp + 0x10], eax
lea ebp, [eax + 0x37]
cmp ecx, ebp
jle 0x477f16
add eax, 0x46
cmp ecx, eax
jge 0x477f16
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
mov ebx, dword [esp + 0x14]
push 0xffffff
push 0x4c47fc
push ebp
lea eax, [ebx + 0x1c]
mov ecx, edi
push eax
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c47fc
lea ecx, [ebx + 0x1d]
push ebp
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
jmp 0x477f76
lea edi, [esi + 0x7f1c]
mov ecx, edi
call fcn.00402880
movsx ebp, bx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], ebp
add ebp, 0x37
push 0x320004
push 0x4c47fc
lea edx, [ebx + 0x1c]
push ebp
push edx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47fc
add ebx, 0x1d
push ebp
push ebx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ebx, dword [esp + 0x14]
movsx eax, word [esp + 0x1dc]
lea ecx, [ebx + 0x68]
cmp eax, ecx
jle 0x477fd8
lea ecx, [ebx + 0x9b]
cmp eax, ecx
jge 0x477fd8
movsx eax, word [esp + 0x1e0]
cmp eax, ebp
jle 0x477fd8
mov edx, dword [esp + 0x10]
add edx, 0x46
cmp eax, edx
jge 0x477fd8
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c47d8
lea eax, [ebx + 0x67]
push ebp
push eax
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
jmp 0x478008
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47d8
lea ecx, [ebx + 0x67]
push ebp
push ecx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47d8
lea eax, [ebx + 0x68]
push ebp
push eax
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
lea ecx, [esi + 0x72bcc]
call fcn.004a6fd0
test eax, eax
jne case.default.0x476e80
movsx eax, word [esp + 0x1dc]
lea esi, [ebx + 0x9b]
cmp eax, esi
jle 0x478095
lea edx, [ebx + 0xd2]
cmp eax, edx
jge 0x478095
movsx eax, word [esp + 0x1e0]
cmp eax, ebp
jle 0x478095
mov ecx, dword [esp + 0x10]
add ecx, 0x46
cmp eax, ecx
jge 0x478095
mov ecx, edi
call fcn.00402880
push 0xffffff
push 0x4c47f4
push ebp
push esi
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0xffffff
jmp 0x4780c2
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47f4
push ebp
push esi
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
mov ecx, edi
call fcn.00402880
push 0x320004
push 0x4c47f4
push ebp
add ebx, 0x9c
push ebx
mov ecx, edi
call fcn.00402520
mov ecx, edi
call fcn.004028c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c8
ret 8