Function at 0x5c52d0
Capabilities:
Get geographical location
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x5c52d8
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5c6230
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.005c171c
call fcn.005c1878
lea eax, [ebp - 8]
mov ecx, 0x5c624c
mov edx, dword [0x631b80]
call fcn.004077c4
xor eax, eax
push ebp
push 0x5c533b
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x44bb30]
call fcn.0044bee4
mov dword [ebp - 0x10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5c5370
xor eax, eax
mov al, byte [0x62a8d0]
push eax
mov ecx, 0x5c62c0
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
movzx eax, word [0x631bc0]
push eax
mov ecx, 0x5c6300
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor eax, eax
mov al, byte [0x631bc2]
push eax
mov ecx, 0x5c631c
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3a4]
call fcn.004fcb30
push eax
mov ecx, 0x5c633c
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631bec]
push eax
mov ecx, 0x5c6374
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov al, byte [0x62a8f0]
push eax
mov ecx, 0x5c63b0
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [0x631b98]
push eax
mov ecx, 0x5c63ec
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631b9c]
push eax
mov ecx, 0x5c6408
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
xor eax, eax
mov al, byte [0x62a904]
push eax
mov ecx, 0x5c6420
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov al, byte [0x62a908]
push eax
mov ecx, 0x5c6444
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x62a8d4]
push eax
mov ecx, 0x5c6468
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
movzx eax, word [0x62a8d8]
cmp eax, 0x3c
jg 0x5c54a3
je 0x5c54dd
sub eax, 0xa
je 0x5c54b1
sub eax, 0x14
je 0x5c54c7
jmp 0x5c551d
sub eax, 0x78
je 0x5c54f3
sub eax, 0xb4
je 0x5c5509
jmp 0x5c551d
push 0
mov ecx, 0x5c6494
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x5c551d
push 1
mov ecx, 0x5c6494
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x5c551d
push 2
mov ecx, 0x5c6494
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x5c551d
push 3
mov ecx, 0x5c6494
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x5c551d
push 4
mov ecx, 0x5c6494
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631bd0]
push eax
mov ecx, 0x5c64c8
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631bd4]
push eax
mov ecx, 0x5c64f4
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
movzx eax, word [0x631bd8]
push eax
mov ecx, 0x5c6524
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631be0]
push eax
mov ecx, 0x5c6554
mov edx, 0x5c62e0
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov al, byte [0x62a910]
push eax
mov ecx, 0x5c6588
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [0x62a918]
push eax
mov ecx, 0x5c65c4
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x62a914]
push eax
mov ecx, 0x5c65e0
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x62a91c]
push eax
mov ecx, 0x5c65f8
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x62a930]
push eax
mov ecx, 0x5c6618
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
xor eax, eax
mov al, byte [0x631c20]
push eax
mov ecx, 0x5c6634
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631bfc]
push eax
mov ecx, 0x5c6658
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c00]
push eax
mov ecx, 0x5c6680
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c04]
push eax
mov ecx, 0x5c66ac
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c18]
push eax
mov ecx, 0x5c66d8
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c1c]
push eax
mov ecx, 0x5c6710
mov edx, 0x5c65a8
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
xor eax, eax
mov al, byte [0x62a8b0]
push eax
mov ecx, 0x5c6744
mov edx, 0x5c6768
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x62a8b4]
push eax
mov ecx, 0x5c6780
mov edx, 0x5c6768
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
movzx eax, word [0x62a8b8]
push eax
mov ecx, 0x5c67a0
mov edx, 0x5c6768
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x62a8ac]
push eax
mov ecx, 0x5c67c4
mov edx, 0x5c6768
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631b8c]
call fcn.00408ac4
dec eax
test eax, eax
jl 0x5c573c
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b8c]
mov al, byte [edx + eax*4]
push eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b8c]
mov ecx, dword [edx + eax*4 + 4]
mov edx, 0x5c67e4
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x5c5707
lea eax, [ebp - 0x1c]
push eax
push 4
lea eax, [ebp - 0x18]
push eax
push 5
call sub.librouter.dll_GetParamW
test eax, eax
je 0x5c576b
cmp dword [ebp - 0x18], 1
sbb eax, eax
inc eax
push eax
mov ecx, 0x5c6800
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
lea eax, [ebp - 0x1c]
push eax
push 0
push 0
push 6
call sub.librouter.dll_GetParamW
test eax, eax
jne 0x5c5806
mov edx, dword [ebp - 0x1c]
shr edx, 1
lea eax, [ebp - 0xc]
call fcn.0040766c
lea eax, [ebp - 0xc]
call fcn.00407df4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x5c57c0
mov eax, dword [ebp - 0x24]
sub eax, 0xa
cmp word [eax], 2
je 0x5c57c0
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0xc]
call fcn.00406760
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x5c57d7
mov eax, dword [ebp - 0x28]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x28]
add eax, eax
push eax
mov eax, dword [ebp - 0x2c]
push eax
push 6
call sub.librouter.dll_GetParamW
test eax, eax
je 0x5c5806
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x5c6868
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
lea eax, [ebp - 0x1c]
push eax
push 4
lea eax, [ebp - 0x18]
push eax
push 7
call sub.librouter.dll_GetParamW
test eax, eax
je 0x5c5835
cmp dword [ebp - 0x18], 1
sbb eax, eax
inc eax
push eax
mov ecx, 0x5c68a8
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [0x631ba0]
push eax
mov ecx, 0x5c68e0
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631ba4]
push eax
mov ecx, 0x5c6914
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631ba8]
push eax
mov ecx, 0x5c694c
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x404]
mov edx, dword [eax]
call dword [edx + 0xec]
push eax
mov ecx, 0x5c6980
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x408]
call fcn.004b7310
mov eax, dword [ebp - 0x30]
push eax
mov ecx, 0x5c69b4
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40c]
call fcn.004b7310
mov eax, dword [ebp - 0x34]
push eax
mov ecx, 0x5c69ec
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631bac]
push eax
mov ecx, 0x5c6a24
mov edx, 0x5c6844
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x51c]
call fcn.004b7310
mov eax, dword [ebp - 0x38]
push eax
mov ecx, 0x5c6a54
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x530]
mov edx, dword [eax]
call dword [edx + 0xec]
cmp eax, 4
ja case.default.0x5c5944
jmp dword [eax*4 + 0x5c594b]
mov dword [ebp - 0x14], 1
jmp 0x5c5993
mov dword [ebp - 0x14], 2
jmp 0x5c5993
mov dword [ebp - 0x14], 3
jmp 0x5c5993
mov dword [ebp - 0x14], 5
jmp 0x5c5993
mov dword [ebp - 0x14], 0xa
jmp 0x5c5993
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x14]
push eax
mov ecx, 0x5c6a94
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x528]
mov edx, dword [eax]
call dword [edx + 0xec]
push eax
mov ecx, 0x5c6ab8
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5ec]
mov al, byte [eax + 0x38]
push eax
mov ecx, 0x5c6adc
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f0]
mov al, byte [eax + 0x38]
push eax
mov ecx, 0x5c6b00
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5ac]
mov al, byte [eax + 0x38]
push eax
mov ecx, 0x5c6b24
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [0x62a980]
push eax
mov ecx, 0x5c6b48
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f4]
mov al, byte [eax + 0x38]
push eax
mov ecx, 0x5c6b68
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x594]
mov al, byte [eax + 0x38]
push eax
mov ecx, 0x5c6b94
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5f8]
mov al, byte [eax + 0x38]
push eax
mov ecx, 0x5c6bb8
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5b0]
mov al, byte [eax + 0x38]
push eax
mov ecx, 0x5c6588
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [0x631c4c]
push eax
mov ecx, 0x5c6be0
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
push dword [0x631c48]
push dword [0x631c44]
mov ecx, 0x5c6c04
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov al, byte [0x631c50]
push eax
mov ecx, 0x5c6c2c
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x631c59]
push eax
mov ecx, 0x5c6c50
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [0x631c84]
push eax
mov ecx, 0x5c6c88
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631c88]
push eax
mov ecx, 0x5c6cb4
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor eax, eax
mov al, byte [0x631ca0]
push eax
mov ecx, 0x5c6cec
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov al, byte [0x631c51]
push eax
mov ecx, 0x5c6d1c
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x631c52]
push eax
mov ecx, 0x5c6d50
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x631c53]
push eax
mov ecx, 0x5c6d80
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x631c54]
push eax
mov ecx, 0x5c6db4
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x631c55]
push eax
mov ecx, 0x5c6dec
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x631c56]
push eax
mov ecx, 0x5c6e20
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x631c57]
push eax
mov ecx, 0x5c6e5c
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x631c58]
push eax
mov ecx, 0x5c6e94
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [0x631c8c]
push eax
mov ecx, 0x5c6ecc
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631c90]
push eax
mov ecx, 0x5c6f08
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor eax, eax
mov al, byte [0x631ca1]
push eax
mov ecx, 0x5c6f40
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
xor eax, eax
mov al, byte [0x631ca2]
push eax
mov ecx, 0x5c6f74
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631c94]
push eax
mov ecx, 0x5c6fac
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631c98]
push eax
mov ecx, 0x5c6fe4
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631c9c]
push eax
mov ecx, 0x5c7018
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [0x631c5c]
push eax
mov ecx, 0x5c704c
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c60]
push eax
mov ecx, 0x5c7090
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c64]
push eax
mov ecx, 0x5c70d4
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c68]
push eax
mov ecx, 0x5c7110
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c6c]
push eax
mov ecx, 0x5c7144
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c70]
push eax
mov ecx, 0x5c7178
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c74]
push eax
mov ecx, 0x5c71a8
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c78]
push eax
mov ecx, 0x5c71e0
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c7c]
push eax
mov ecx, 0x5c7218
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631c80]
push eax
mov ecx, 0x5c724c
mov edx, 0x5c6a74
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov al, byte [0x62a8a8]
push eax
mov ecx, 0x5c7278
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x478]
mov edx, dword [eax]
call dword [edx + 0xec]
push eax
mov ecx, 0x5c72ac
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x488]
mov edx, dword [eax]
call dword [edx + 0xec]
push eax
mov ecx, 0x5c72e0
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
xor eax, eax
mov al, byte [0x62a950]
push eax
mov ecx, 0x5c730c
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov al, byte [0x62a954]
push eax
mov ecx, 0x5c7338
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
xor eax, eax
mov al, byte [0x62a95c]
push eax
mov ecx, 0x5c7370
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x414]
call fcn.004b7310
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, 0x5c7398
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x418]
mov edx, dword [eax]
call dword [edx + 0xec]
push eax
mov ecx, 0x5c73bc
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4b4]
mov edx, dword [eax]
call dword [edx + 0xec]
push eax
mov ecx, 0x5c73e0
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x62a960]
push eax
mov ecx, 0x5c7404
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov al, byte [0x62a958]
push eax
mov ecx, 0x5c7434
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [0x631c24]
push eax
mov ecx, 0x5c7464
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
xor eax, eax
mov al, byte [0x62a934]
push eax
mov ecx, 0x5c748c
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.004ddf94
push eax
mov ecx, 0x5c74c4
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.004ddfb4
push eax
mov ecx, 0x5c74e4
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.004b6bfc
push eax
mov ecx, 0x5c7504
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
call fcn.004b6c3c
push eax
mov ecx, 0x5c752c
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
lea eax, [ebp - 0xc]
mov edx, 0x5c7554
call fcn.00407344
mov eax, dword [ebp - 4]
cmp byte [eax + 0x29a], 2
jne 0x5c5fd9
lea eax, [ebp - 0xc]
mov edx, 0x5c7570
call fcn.00407344
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x5c7590
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 8]
mov eax, dword [0x631b90]
call fcn.00408ac4
dec eax
test eax, eax
jl 0x5c60f1
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x390]
mov edx, dword [ebp - 0x14]
call fcn.0050965c
test eax, eax
setge al
push eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b90]
mov ecx, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x40]
mov edx, 0x5c75b8
call fcn.004077c4
mov ecx, dword [ebp - 0x40]
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x390]
mov edx, dword [ebp - 0x14]
call fcn.0050965c
test eax, eax
jl 0x5c60a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x390]
mov edx, dword [ebp - 0x14]
call fcn.0050965c
push eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b90]
mov ecx, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x44]
mov edx, 0x5c75d8
call fcn.004077c4
mov ecx, dword [ebp - 0x44]
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x5c60e5
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b90]
mov eax, dword [edx + eax*8 + 0x14]
push eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b90]
mov ecx, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x48]
mov edx, 0x5c75d8
call fcn.004077c4
mov ecx, dword [ebp - 0x48]
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x5c600d
mov eax, dword [0x631b94]
call fcn.00408ac4
dec eax
test eax, eax
jl 0x5c61f3
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520]
mov edx, dword [ebp - 0x14]
call fcn.0050965c
test eax, eax
setge al
push eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b94]
mov ecx, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x4c]
mov edx, 0x5c75f8
call fcn.004077c4
mov ecx, dword [ebp - 0x4c]
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520]
mov edx, dword [ebp - 0x14]
call fcn.0050965c
test eax, eax
jl 0x5c61a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520]
mov edx, dword [ebp - 0x14]
call fcn.0050965c
push eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b94]
mov ecx, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x50]
mov edx, 0x5c7620
call fcn.004077c4
mov ecx, dword [ebp - 0x50]
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
jmp 0x5c61e7
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b94]
mov eax, dword [edx + eax*8 + 0x14]
push eax
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
mov edx, dword [0x631b94]
mov ecx, dword [edx + eax*8 + 4]
lea eax, [ebp - 0x54]
mov edx, 0x5c7620
call fcn.004077c4
mov ecx, dword [ebp - 0x54]
mov edx, 0x5c7298
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x10]
inc dword [ebp - 0x14]
dec dword [ebp - 0x20]
jne 0x5c610f
mov eax, dword [ebp - 0x10]
call fcn.004052b4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5c6237
lea eax, [ebp - 0x54]
mov edx, 6
call fcn.004072e8
lea eax, [ebp - 0x3c]
mov edx, 4
call fcn.004072e8
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004072e8
ret