Function at 0x58dcec
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x27
push 0
push 0
dec ecx
jne 0x58dcf4
push ecx
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x58ec5a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [edi + 0xb30]
mov esi, dword [eax + 0x10]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049fb08
mov edx, dword [esi + 0x13c]
mov eax, dword [edi + 0x378]
call fcn.00466874
mov edx, dword [esi + 0x144]
mov eax, dword [edi + 0x394]
call fcn.00466874
lea eax, [ebp - 0x70]
push eax
mov eax, dword [esi + 0xec]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x84], 0
mov eax, dword [esi + 0xf0]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0
mov eax, dword [esi + 0xe8]
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x74], 0
lea edx, [ebp - 0x88]
mov ecx, 2
mov eax, 0x58ec70
call fcn.0040b9ac
mov edx, dword [ebp - 0x70]
mov eax, dword [edi + 0x9c4]
call fcn.00466874
lea edx, [ebp - 0x8c]
mov eax, dword [esi + 0x14c]
call fcn.00409ae4
mov edx, dword [ebp - 0x8c]
mov eax, dword [edi + 0xb14]
call fcn.00466874
cmp dword [esi + 0x68], 2
jne 0x58df43
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x10], eax
mov edx, 0x58ec8c
mov eax, dword [ebp - 0x10]
call fcn.0049f3d0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x148]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x14], eax
mov edx, 0x58ec9c
mov eax, dword [ebp - 0x14]
call fcn.0049f3d0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x140]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x18], eax
mov edx, 0x58ecac
mov eax, dword [ebp - 0x18]
call fcn.0049f3d0
lea eax, [ebp - 0x90]
push eax
mov eax, dword [esi + 0x114]
movzx eax, word [eax + 0xea]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
mov eax, dword [esi + 0x114]
movzx eax, word [eax + 0xe8]
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x94], 0
lea edx, [ebp - 0xa0]
mov ecx, 1
mov eax, 0x58ecc4
call fcn.0040b9ac
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x1c], eax
mov edx, 0x58ecd4
mov eax, dword [ebp - 0x1c]
call fcn.0049f3d0
lea edx, [ebp - 0xa4]
mov eax, dword [esi + 0x114]
mov eax, dword [eax + 0xf4]
call fcn.0040a434
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x20], eax
mov edx, 0x58ecf0
mov eax, dword [ebp - 0x20]
call fcn.0049f3d0
lea edx, [ebp - 0xa8]
mov eax, dword [esi + 0x114]
mov eax, dword [eax + 0xf8]
call fcn.0040a434
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ed08
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0x100]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ed1c
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0x12c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x24], eax
mov edx, 0x58ed30
mov eax, dword [ebp - 0x24]
call fcn.0049f3d0
push dword [esi + 0x134]
push dword [esi + 0x130]
lea eax, [ebp - 8]
xor edx, edx
call fcn.0040d6a4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ed48
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0xfc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ed60
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [ebx + 8]
mov edx, dword [esi + 0x104]
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp dword [esi + 0x11c], 0
je 0x58e077
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x28], eax
mov edx, 0x58ed80
mov eax, dword [ebp - 0x28]
call fcn.0049f3d0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x11c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp dword [esi + 0xec], 6
jl 0x58e128
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x2c], eax
mov edx, 0x58ed94
mov eax, dword [ebp - 0x2c]
call fcn.0049f3d0
mov eax, dword [esi + 0x118]
cmp byte [eax + 0xe8], 0
je 0x58e0c6
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov edx, 0x58edb4
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e0d6
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov edx, 0x58edc4
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x9c0]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x30], eax
mov edx, 0x58edd8
mov eax, dword [ebp - 0x30]
call fcn.0049f3d0
mov eax, dword [esi + 0x118]
cmp byte [eax + 0xe9], 0
je 0x58e118
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov edx, 0x58edb4
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e128
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov edx, 0x58edc4
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0xac]
mov eax, dword [esi + 0x150]
call fcn.004a6568
mov edx, dword [ebp - 0xac]
mov eax, dword [edi + 0xb34]
call fcn.0041f5a8
mov eax, dword [edi + 0xb28]
mov eax, dword [eax + 0x260]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x58e1b1
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xb0]
mov eax, dword [edi + 0xb28]
mov eax, dword [eax + 0x260]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xb0]
mov eax, dword [edi + 0xb34]
mov ecx, dword [eax]
call dword [ecx + 0x54]
test eax, eax
setge cl
mov edx, dword [ebp - 0xc]
mov eax, dword [edi + 0xb28]
call fcn.005879e8
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x58e16b
cmp dword [esi + 0x68], 2
jne 0x58e1bd
cmp dword [esi + 0x6c], 5
jge 0x58e1c1
xor edx, edx
jmp 0x58e1c3
mov dl, 1
mov eax, dword [edi + 0x498]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [edi + 0x4bc]
mov eax, dword [eax + 0x278]
call fcn.0049fb08
mov eax, dword [esi + 0x10c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x58e2a9
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp - 0xc]
mov ebx, dword [esi + 0x10c]
mov eax, ebx
call fcn.0041ee18
mov edx, dword [ebp - 0xb8]
lea ecx, [ebp - 0xb4]
mov eax, ebx
call fcn.0041f008
cmp dword [ebp - 0xb4], 0
je 0x58e29d
mov eax, dword [edi + 0x4bc]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x10c]
call fcn.0041ee18
mov edx, dword [ebp - 0xbc]
mov eax, ebx
call fcn.0049f3d0
lea ecx, [ebp - 0xc4]
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x10c]
call fcn.0041ee18
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0xc0]
mov eax, dword [esi + 0x10c]
call fcn.0041f008
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x58e1fe
mov eax, dword [edi + 0x960]
mov eax, dword [eax + 0x278]
call fcn.0049fb08
mov eax, dword [esi + 0x114]
call fcn.005550e0
dec eax
test eax, eax
jl 0x58e38a
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
mov eax, dword [edi + 0x960]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0xdc]
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x114]
call fcn.005550ec
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x38]
call fcn.0049f3d0
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x114]
call fcn.005550ec
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x10c]
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x114]
call fcn.005550ec
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x124]
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x114]
call fcn.005550ec
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x58e2d9
mov eax, dword [edi + 0x97c]
mov eax, dword [eax + 0x278]
call fcn.0049fb08
mov eax, dword [esi + 0x108]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x58e438
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
mov eax, dword [edi + 0x97c]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
lea ecx, [ebp - 0x128]
mov eax, dword [edi + 0xb30]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x108]
mov edx, dword [ebp - 0xc]
call fcn.0041ee18
mov edx, dword [ebp - 0x128]
mov eax, ebx
call fcn.0049f3d0
lea ecx, [ebp - 0x130]
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x108]
call fcn.0041ee18
mov edx, dword [ebp - 0x130]
lea ecx, [ebp - 0x12c]
mov eax, dword [esi + 0x108]
call fcn.0041f008
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x58e3ba
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049fb08
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58edf0
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0xfc]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ee10
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0xf0]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ee34
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0xf4]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ee4c
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x11c]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ee6c
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0xf8]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58ee88
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0xec]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58eeac
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0xe8]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58eed0
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x110]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58eef0
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x10c]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x3c], eax
mov edx, 0x58ef10
mov eax, dword [ebp - 0x3c]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
movzx eax, byte [eax + 0x135]
sub al, 1
jb 0x58e652
je 0x58e664
dec al
je 0x58e676
dec al
je 0x58e688
jmp 0x58e698
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 8]
mov edx, 0x58ef30
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e698
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 8]
mov edx, 0x58ef50
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e698
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 8]
mov edx, 0x58ef70
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e698
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 8]
mov edx, 0x58ef94
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58efb8
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x120]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58efd8
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x114]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58effc
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x118]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58f020
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x104]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov ebx, eax
mov edx, 0x58f03c
mov eax, ebx
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x144]
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x40], eax
mov edx, 0x58f060
mov eax, dword [ebp - 0x40]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x108]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x44], eax
mov edx, 0x58f084
mov eax, dword [ebp - 0x44]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x100]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x48], eax
mov edx, 0x58f09c
mov eax, dword [ebp - 0x48]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x124]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x4c], eax
mov edx, 0x58f0b4
mov eax, dword [ebp - 0x4c]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
movzx eax, byte [eax + 0x137]
sub al, 1
jb 0x58e879
je 0x58e88b
dec al
je 0x58e89d
jmp 0x58e8ad
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 8]
mov edx, 0x58f0cc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e8ad
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 8]
mov edx, 0x58f0dc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e8ad
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 8]
mov edx, 0x58f0ec
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x50], eax
mov edx, 0x58f0fc
mov eax, dword [ebp - 0x50]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
movzx eax, byte [eax + 0x136]
sub al, 1
jb 0x58e8e7
je 0x58e8f9
dec al
je 0x58e90b
jmp 0x58e91b
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 8]
mov edx, 0x58f0cc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e91b
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 8]
mov edx, 0x58f0dc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58e91b
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 8]
mov edx, 0x58f0ec
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x54], eax
mov edx, 0x58f118
mov eax, dword [ebp - 0x54]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x13c]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x58], eax
mov edx, 0x58f134
mov eax, dword [ebp - 0x58]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x130]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x5c], eax
mov edx, 0x58f150
mov eax, dword [ebp - 0x5c]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
mov edx, dword [eax + 0x12c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x60], eax
mov edx, 0x58f164
mov eax, dword [ebp - 0x60]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
movzx eax, byte [eax + 0x138]
sub al, 1
jb 0x58e9f9
je 0x58ea0b
jmp 0x58ea1b
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 8]
mov edx, 0x58f184
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58ea1b
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 8]
mov edx, 0x58f190
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x64], eax
mov edx, 0x58f19c
mov eax, dword [ebp - 0x64]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
movzx eax, byte [eax + 0x139]
sub al, 1
jb 0x58ea51
je 0x58ea63
jmp 0x58ea73
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 8]
mov edx, 0x58f1b0
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58ea73
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 8]
mov edx, 0x58f1c4
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [edi + 0x510]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x68], eax
mov edx, 0x58f1d8
mov eax, dword [ebp - 0x68]
call fcn.0049f3d0
mov eax, dword [esi + 0x124]
movzx eax, byte [eax + 0x134]
sub al, 1
jb 0x58eaa9
je 0x58eabb
jmp 0x58eacb
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
mov edx, 0x58f1f4
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x58eacb
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
mov edx, 0x58f204
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp dword [esi + 0xec], 6
setge dl
mov eax, dword [edi + 0xb18]
call fcn.00496c94
mov eax, dword [edi + 0xb1c]
mov eax, dword [eax + 0x278]
call fcn.0049fb08
mov eax, dword [esi + 0x118]
mov eax, dword [eax + 0xec]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x58eb66
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
mov eax, dword [edi + 0xb1c]
mov eax, dword [eax + 0x278]
call fcn.0049f980
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x134]
mov eax, dword [esi + 0x118]
mov eax, dword [eax + 0xec]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x6c]
call fcn.0049f3d0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
mov edx, 0x58edb4
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x58eb12
mov eax, dword [esi + 0x120]
mov edx, dword [eax + 0xfc]
mov eax, dword [edi + 0x4d0]
call fcn.00466874
mov eax, dword [esi + 0x120]
mov edx, dword [eax + 0xf8]
mov eax, dword [edi + 0x4d8]
call fcn.00466874
lea edx, [ebp - 0x138]
mov eax, dword [esi + 0x120]
mov eax, dword [eax + 0xec]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x138]
mov eax, dword [edi + 0x910]
mov eax, dword [eax + 0x270]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea ecx, [ebp - 0x13c]
mov eax, dword [esi + 0x120]
movzx edx, byte [eax + 0xf4]
mov eax, dword [esi + 0x120]
call fcn.005568b4
mov edx, dword [ebp - 0x13c]
mov eax, dword [edi + 0x4d4]
call fcn.00466874
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x58ec61
lea eax, [ebp - 0x13c]
mov edx, 6
call fcn.00404e54
lea eax, [ebp - 0x124]
mov edx, dword [0x54cf50]
mov ecx, 4
call fcn.00405bf0
lea eax, [ebp - 0xc4]
mov edx, 9
call fcn.00404e54
lea eax, [ebp - 0x90]
mov edx, 2
call fcn.00404e54
lea eax, [ebp - 0x70]
call fcn.00404e30
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404e54
ret