Function at 0x5091c4
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x26
push 0
push 0
dec ecx
jne 0x5091cd
push ecx
xchg dword [ebp - 4], ecx
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00406058
mov eax, dword [ebp - 8]
call fcn.00406058
mov eax, dword [ebp - 0xc]
call fcn.00406058
xor eax, eax
push ebp
push 0x50a308
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x522a74], 0
jne 0x509230
lea eax, [ebp - 0x40]
push eax
mov cl, 1
mov edx, 0x50a324
xor eax, eax
call fcn.005055f8
mov edx, dword [ebp - 0x40]
mov eax, 0x522a74
call fcn.00406070
lea edx, [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.0040c4b8
mov edx, dword [ebp - 0x44]
mov eax, 0x50a340
call fcn.00406b34
test eax, eax
jle 0x50a2a5
xor eax, eax
mov dword [ebp - 0x34], eax
xor edx, edx
push ebp
push 0x50a29e
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x4c]
xor eax, eax
call fcn.004033d8
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.0040dfa4
mov edx, dword [ebp - 0x48]
mov eax, 0x50a360
call fcn.0040c794
test al, al
jne 0x5092a7
mov dl, 1
mov eax, dword [0x4401d0]
call fcn.00440434
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4e7340]
call fcn.004e7ee8
cmp dword [0x522a7c], 0xffffffff
jne 0x5092c6
xor ecx, ecx
mov edx, 0x50a384
mov eax, 0x50a3a0
call fcn.0050b50c
mov dword [0x522a7c], eax
cmp dword [0x522a7c], 1
jne 0x5092fd
movzx eax, byte [0x50a3b0]
push eax
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x50a3c0
mov edx, 0x50a414
mov eax, dword [ebp - 4]
call fcn.00415e74
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 4]
call fcn.004060c4
jmp 0x509386
cmp dword [0x5229dc], 0
je 0x509316
lea eax, [ebp - 0x18]
mov edx, dword [0x5229dc]
call fcn.004060c4
jmp 0x50933f
cmp dword [ebp - 0x34], 0
je 0x509335
push 0
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x50a464
mov edx, 0x50a488
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx]
jmp 0x50933f
lea eax, [ebp - 0x18]
xor edx, edx
call fcn.004060c4
cmp dword [ebp - 0x18], 0
je 0x509386
movzx eax, byte [0x50a3b0]
push eax
lea eax, [ebp - 0x54]
push eax
push 0x50a4a0
push dword [ebp - 0x18]
push 0x50a4c0
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.00406628
mov ecx, dword [ebp - 0x58]
mov edx, 0x50a414
mov eax, dword [ebp - 4]
call fcn.00415e74
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 4]
call fcn.004060c4
mov edx, dword [ebp - 4]
mov eax, 0x50a4e0
call fcn.00406b34
mov ebx, eax
test ebx, ebx
jle 0x50a282
cmp dword [0x522a78], 0
jne 0x5093ba
push 0x50a4e4
push 0x50a4fc
call sub.user32.dll_FindWindowW
mov dword [0x522a78], eax
mov dl, 1
mov eax, dword [0x4227bc]
call fcn.004281dc
mov dword [ebp - 0x30], eax
xor edx, edx
push ebp
push 0x50a27b
push dword fs:[edx]
mov dword fs:[edx], esp
mov dx, 0x26
mov eax, dword [ebp - 0x30]
call fcn.00427688
lea eax, [ebp - 0x5c]
push eax
lea edx, [ebx + 1]
mov ecx, 0x7fffffff
mov eax, dword [ebp - 4]
call fcn.0040681c
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x30]
call fcn.0042744c
lea eax, [ebp - 4]
push eax
mov ecx, ebx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040681c
cmp dword [ebp - 8], 0
je 0x50942b
mov ecx, dword [ebp - 8]
mov edx, 0x50a520
mov eax, dword [ebp - 0x30]
call fcn.00427314
cmp dword [ebp - 0x34], 0
jne 0x50944f
mov dl, 1
mov eax, dword [0x4401d0]
call fcn.00440434
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4e7340]
call fcn.004e7ee8
push 0
mov ecx, 0x50a534
mov edx, 0x50a558
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 8]
mov ebx, eax
test ebx, ebx
je 0x509483
lea edx, [ebp - 0x60]
mov eax, ebx
call fcn.0040d06c
mov ecx, dword [ebp - 0x60]
mov edx, 0x50a570
mov eax, dword [ebp - 0x30]
call fcn.00427314
lea ecx, [ebp - 0x64]
mov edx, 0x50a520
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x1c]
call fcn.0040c4b8
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.00507f28
test al, al
je 0x5094fd
cmp dword [ebp - 0x34], 0
jne 0x5094d0
mov dl, 1
mov eax, dword [0x4401d0]
call fcn.00440434
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4e7340]
call fcn.004e7ee8
call fcn.0050b0f8
add esp, 0xfffffff8
fstp qword [esp]
wait
mov ecx, 0x50a584
mov edx, 0x50a558
mov eax, dword [ebp - 0x34]
call fcn.00440554
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4e7340]
call fcn.004e821c
xor edx, edx
mov eax, dword [ebp - 0x1c]
call fcn.00507f28
test al, al
je 0x509676
call fcn.00506278
test al, al
je 0x509676
lea eax, [ebp - 0x6c]
call fcn.00505940
push dword [ebp - 0x6c]
push 0x50a5b0
push 0x50a5cc
lea eax, [ebp - 0x68]
mov edx, 3
call fcn.00406628
mov ecx, dword [ebp - 0x68]
mov dl, 1
mov eax, dword [0x4e7340]
call fcn.004e7dfc
mov dword [ebp - 0x3c], eax
xor edx, edx
push ebp
push 0x50966f
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
lea eax, [ebp - 0x20]
push eax
mov ecx, 0x50a5f0
mov edx, 0x50a610
mov eax, dword [ebp - 0x3c]
call fcn.004e81a8
cmp dword [ebp - 0x34], 0
jne 0x50959a
mov dl, 1
mov eax, dword [0x4401d0]
call fcn.00440434
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4e7340]
call fcn.004e7ee8
push 0
lea eax, [ebp - 0x24]
push eax
mov edx, 0x50a488
mov ecx, 0x50a62c
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0x24], 0
je 0x50964e
push 0x50a660
lea edx, [ebp - 0x74]
mov eax, dword [ebp - 0x20]
call fcn.0040c3f0
push dword [ebp - 0x74]
push 0x50a660
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.00406628
mov eax, dword [ebp - 0x70]
push eax
push 0x50a660
lea edx, [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
call fcn.0040c3f0
push dword [ebp - 0x7c]
push 0x50a660
lea eax, [ebp - 0x78]
mov edx, 3
call fcn.00406628
mov eax, dword [ebp - 0x78]
pop edx
call fcn.00406b34
test eax, eax
jle 0x50964e
cmp byte [ebp + 0xc], 0
je 0x50963e
lea eax, [ebp - 0x80]
mov ecx, 0x50a670
mov edx, dword [ebp - 0x1c]
call fcn.00406544
mov ecx, dword [ebp - 0x80]
mov edx, 0x50a520
mov eax, dword [ebp - 0x30]
call fcn.00427314
jmp 0x50964e
mov ecx, dword [ebp - 0x1c]
mov edx, 0x50a520
mov eax, dword [ebp - 0x30]
call fcn.00427314
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x509676
cmp dword [ebp - 0x3c], 0
je 0x50966e
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x3c], edx
call fcn.00403dac
ret
cmp dword [ebp - 0xc], 0
je 0x50968c
mov ecx, dword [ebp - 0xc]
mov edx, 0x50a688
mov eax, dword [ebp - 0x30]
call fcn.00427314
mov edx, 0x50a69c
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x5096b9
lea ecx, [ebp - 0x84]
mov edx, 0x50a69c
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0x84], 0
jne 0x5096cb
mov ecx, 0x50a6b8
mov edx, 0x50a69c
mov eax, dword [ebp - 0x30]
call fcn.00427314
lea eax, [ebp - 0x10]
call fcn.005074e0
lea ecx, [ebp - 0x88]
mov edx, 0x50a688
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0x88], 0
je 0x50973c
call fcn.00508cf4
test al, al
je 0x50973c
lea ecx, [ebp - 0x90]
mov edx, 0x50a688
mov eax, dword [ebp - 0x30]
call fcn.004269e4
push dword [ebp - 0x90]
push 0x50a6cc
push dword [ebp - 0x10]
lea eax, [ebp - 0x8c]
mov edx, 3
call fcn.00406628
mov ecx, dword [ebp - 0x8c]
mov edx, 0x50a688
mov eax, dword [ebp - 0x30]
call fcn.00427314
cmp byte [0x5229e4], 0
je 0x50977d
lea ecx, [ebp - 0x94]
mov edx, 0x50a688
mov eax, dword [ebp - 0x30]
call fcn.004269e4
lea eax, [ebp - 0x94]
mov edx, 0x50a6dc
call fcn.00406484
mov ecx, dword [ebp - 0x94]
mov edx, 0x50a688
mov eax, dword [ebp - 0x30]
call fcn.00427314
jmp 0x5097bc
cmp byte [0x5229e0], 0
je 0x5097bc
lea ecx, [ebp - 0x98]
mov edx, 0x50a688
mov eax, dword [ebp - 0x30]
call fcn.004269e4
lea eax, [ebp - 0x98]
mov edx, 0x50a6f4
call fcn.00406484
mov ecx, dword [ebp - 0x98]
mov edx, 0x50a688
mov eax, dword [ebp - 0x30]
call fcn.00427314
lea ecx, [ebp - 0x9c]
mov edx, 0x50a70c
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0x9c], 0
je 0x5097ff
lea ecx, [ebp - 0xa0]
mov edx, 0x50a70c
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0xa0]
mov edx, 0x50a720
call fcn.0040c794
test al, al
je 0x509827
lea eax, [ebp - 0xa4]
push eax
mov cl, 1
mov edx, 0x50a324
xor eax, eax
call fcn.005055f8
mov ecx, dword [ebp - 0xa4]
mov edx, 0x50a70c
mov eax, dword [ebp - 0x30]
call fcn.00427314
lea ecx, [ebp - 0xa8]
mov edx, 0x50a734
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0xa8], 0
je 0x50986a
lea ecx, [ebp - 0xac]
mov edx, 0x50a734
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0xac]
mov edx, 0x50a720
call fcn.0040c794
test al, al
je 0x5098d3
lea edx, [ebp - 0xb0]
mov al, 1
call fcn.0050aed8
cmp dword [ebp - 0xb0], 0
je 0x5098a2
lea edx, [ebp - 0xb4]
mov al, 1
call fcn.0050aed8
mov ecx, dword [ebp - 0xb4]
mov edx, 0x50a734
mov eax, dword [ebp - 0x30]
call fcn.00427314
jmp 0x5098d3
mov edx, 0x50a734
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov ebx, eax
test ebx, ebx
jl 0x5098c6
mov ecx, 0x50a748
mov edx, ebx
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x5098d3
mov edx, 0x50a748
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x38]
call fcn.0050b1d4
test al, al
je 0x50994c
cmp dword [0x5229d4], 0
je 0x50994c
mov edx, 0x50a760
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x509939
lea ecx, [ebp - 0xb8]
mov edx, 0x50a760
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0xb8], 0
je 0x509939
lea ecx, [ebp - 0xbc]
mov edx, 0x50a760
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0xbc]
mov edx, 0x50a720
call fcn.0040c794
test al, al
je 0x50994c
mov ecx, dword [0x5229d4]
mov edx, 0x50a760
mov eax, dword [ebp - 0x30]
call fcn.00427314
cmp dword [0x5229d0], 0
jne 0x509a30
cmp dword [ebp - 0x34], 0
je 0x509a30
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x50a774
mov edx, 0x50a79c
mov eax, dword [ebp - 0x34]
call fcn.00505dfc
push 0
lea eax, [ebp - 0x2c]
push eax
mov edx, 0x50a79c
mov ecx, 0x50a7b4
mov eax, dword [ebp - 0x34]
call fcn.00505dfc
lea edx, [ebp - 0xc0]
mov eax, dword [ebp - 0x28]
call fcn.0040ca78
mov eax, dword [ebp - 0xc0]
push eax
lea edx, [ebp - 0xc8]
mov al, 1
call fcn.004e74c0
mov eax, dword [ebp - 0xc8]
lea edx, [ebp - 0xc4]
call fcn.0040ca78
mov edx, dword [ebp - 0xc4]
pop eax
call fcn.00406814
jne 0x5099f4
cmp dword [ebp - 0x2c], 0
je 0x5099f4
push 0
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x50a7b4
mov edx, 0x50a79c
mov eax, dword [ebp - 0x34]
call fcn.00505dfc
jmp 0x509a0c
push 0
lea eax, [ebp - 0x14]
push eax
mov edx, 0x50a79c
mov ecx, 0x50a7d0
mov eax, dword [ebp - 0x34]
call fcn.00505dfc
cmp dword [ebp - 0x14], 0
je 0x509a30
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 0x14]
call fcn.00505080
mov edx, dword [ebp - 0xcc]
mov eax, 0x5229d0
call fcn.00406070
cmp dword [ebp - 0x34], 0
jne 0x509a54
mov dl, 1
mov eax, dword [0x4401d0]
call fcn.00440434
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [0x4e7340]
call fcn.004e7ee8
push 0
lea eax, [ebp - 0xd0]
push eax
mov edx, 0x50a79c
mov ecx, 0x50a7f0
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0xd0], 0
je 0x509aef
push 0
lea eax, [ebp - 0xd4]
push eax
mov ecx, 0x50a7d0
mov edx, 0x50a79c
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0xd4], 0
je 0x509abd
push 0
lea eax, [ebp - 0xd8]
push eax
mov edx, 0x50a79c
mov ecx, 0x50a80c
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx]
cmp dword [ebp - 0xd8], 0
jne 0x509aef
push 0
lea eax, [ebp - 0xdc]
push eax
mov ecx, 0x50a7f0
mov edx, 0x50a79c
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx]
mov ecx, dword [ebp - 0xdc]
mov edx, 0x50a82c
mov eax, dword [ebp - 0x30]
call fcn.00427314
jmp 0x509b82
call fcn.0050b3a0
test al, al
je 0x509b09
xor ecx, ecx
mov edx, 0x50a844
mov eax, dword [ebp - 0x30]
call fcn.00427314
jmp 0x509b82
call fcn.0050b3c4
test al, al
jne 0x509b82
cmp dword [0x5229d0], 0
je 0x509b82
mov edx, 0x50a844
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x509b6f
lea ecx, [ebp - 0xe0]
mov edx, 0x50a844
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0xe0], 0
je 0x509b6f
lea ecx, [ebp - 0xe4]
mov edx, 0x50a844
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0xe4]
mov edx, 0x50a720
call fcn.0040c794
test al, al
je 0x509b82
mov ecx, dword [0x5229d0]
mov edx, 0x50a844
mov eax, dword [ebp - 0x30]
call fcn.00427314
call fcn.0050b208
test al, al
je 0x509c6a
call fcn.0050b3a0
test al, al
jne 0x509c6a
mov edx, 0x50a858
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x509bf0
lea ecx, [ebp - 0xe8]
mov edx, 0x50a858
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0xe8], 0
je 0x509bf0
lea ecx, [ebp - 0xec]
mov edx, 0x50a858
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0xec]
mov edx, 0x50a720
call fcn.0040c794
test al, al
je 0x509c6a
lea edx, [ebp - 0xf4]
xor eax, eax
call fcn.004033d8
mov eax, dword [ebp - 0xf4]
lea edx, [ebp - 0xf0]
call fcn.0040dfa4
mov edx, dword [ebp - 0xf0]
mov eax, 0x50a360
call fcn.0040c794
test al, al
je 0x509c47
lea edx, [ebp - 0xf8]
mov eax, dword [0x5229cc]
call fcn.0040d06c
mov ecx, dword [ebp - 0xf8]
mov edx, 0x50a858
mov eax, dword [ebp - 0x30]
call fcn.00427314
jmp 0x509c6a
call fcn.0050775c
lea edx, [ebp - 0xfc]
call fcn.0040d06c
mov ecx, dword [ebp - 0xfc]
mov edx, 0x50a858
mov eax, dword [ebp - 0x30]
call fcn.00427314
cmp dword [0x5229d8], 0
je 0x509cda
mov edx, 0x50a870
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x509cc7
lea ecx, [ebp - 0x100]
mov edx, 0x50a870
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0x100], 0
je 0x509cc7
lea ecx, [ebp - 0x104]
mov edx, 0x50a870
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0x104]
mov edx, 0x50a720
call fcn.0040c794
test al, al
je 0x509cda
mov ecx, dword [0x5229d8]
mov edx, 0x50a870
mov eax, dword [ebp - 0x30]
call fcn.00427314
call fcn.0050b3a0
test al, al
je 0x509d08
lea edx, [ebp - 0x108]
mov eax, 0xa
call fcn.0040d06c
mov ecx, dword [ebp - 0x108]
mov edx, 0x50a884
mov eax, dword [ebp - 0x30]
call fcn.00427314
jmp 0x509d2b
call fcn.00507650
lea edx, [ebp - 0x10c]
call fcn.0040d06c
mov ecx, dword [ebp - 0x10c]
mov edx, 0x50a884
mov eax, dword [ebp - 0x30]
call fcn.00427314
mov edx, 0x50a8a0
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jl 0x509d58
lea ecx, [ebp - 0x110]
mov edx, 0x50a8a0
mov eax, dword [ebp - 0x30]
call fcn.004269e4
cmp dword [ebp - 0x110], 0
jne 0x509d7f
call fcn.0050b3c4
test al, al
je 0x509d7f
lea eax, [ebp - 0x114]
call fcn.00508e24
mov ecx, dword [ebp - 0x114]
mov edx, 0x50a8a0
mov eax, dword [ebp - 0x30]
call fcn.00427314
lea edx, [ebp - 0x118]
mov eax, dword [ebp - 0x30]
call fcn.00426524
mov edx, dword [ebp - 0x118]
lea eax, [ebp - 4]
call fcn.00406484
mov edx, 0x50a8c0
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x509dd2
push dword [ebp - 4]
push 0x50a8dc
lea eax, [ebp - 0x11c]
call fcn.00507044
push dword [ebp - 0x11c]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00406628
mov edx, 0x50a8fc
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x509dfb
push dword [ebp - 4]
push 0x50a914
push dword [ebp - 0x10]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00406628
mov edx, 0x50a734
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x509e19
lea eax, [ebp - 4]
mov edx, 0x50a930
call fcn.00406484
mov edx, 0x50a79c
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x509e57
push dword [ebp - 4]
push 0x50a948
xor eax, eax
call fcn.00507868
lea edx, [ebp - 0x120]
call fcn.0040d06c
push dword [ebp - 0x120]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00406628
call fcn.0050b868
test al, al
je 0x509e79
lea eax, [ebp - 0x124]
call fcn.00509084
mov edx, dword [ebp - 0x124]
lea eax, [ebp - 4]
call fcn.00406484
mov edx, 0x50a964
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
jge 0x50a19c
mov cl, 1
mov dl, 1
mov eax, dword [0x4c6838]
call fcn.004c774c
mov dword [ebp - 0x38], eax
xor edx, edx
push ebp
push 0x50a195
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, 0x50a97c
call fcn.00508a14
test al, al
je 0x509ed9
mov eax, 0x50a9b8
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50a9d8
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x509eec
push 0
push 0xa
mov cl, 1
mov edx, 0x50a9d8
mov eax, dword [ebp - 0x38]
call fcn.004c7348
mov eax, 0x50a9ec
call fcn.00508a14
test al, al
je 0x509f18
mov eax, 0x50aa20
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50aa58
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x509f2b
push 0
push 0xa
mov cl, 1
mov edx, 0x50aa58
mov eax, dword [ebp - 0x38]
call fcn.004c7348
mov eax, 0x50aa6c
call fcn.00508a14
test al, al
je 0x509f57
mov eax, 0x50aaac
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50aaf0
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x509f6a
push 0
push 0xa
mov cl, 1
mov edx, 0x50aaf0
mov eax, dword [ebp - 0x38]
call fcn.004c7348
mov eax, 0x50ab04
call fcn.00508a14
test al, al
je 0x509f96
mov eax, 0x50ab30
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50ab60
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x509fa9
push 0
push 0xa
mov cl, 1
mov edx, 0x50ab60
mov eax, dword [ebp - 0x38]
call fcn.004c7348
mov eax, 0x50ab74
call fcn.00508a14
test al, al
je 0x509fd5
mov eax, 0x50aba4
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50abd8
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x509fe8
push 0
push 0xa
mov cl, 1
mov edx, 0x50abd8
mov eax, dword [ebp - 0x38]
call fcn.004c7348
mov eax, 0x50abec
call fcn.00508a14
test al, al
je 0x50a014
mov eax, 0x50ac30
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50ac78
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x50a027
push 0
push 0xa
mov cl, 1
mov edx, 0x50ac78
mov eax, dword [ebp - 0x38]
call fcn.004c7348
mov eax, 0x50ac8c
call fcn.00508a14
test al, al
je 0x50a053
mov eax, 0x50acdc
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50ad00
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x50a066
push 0
push 0xa
mov cl, 1
mov edx, 0x50ad00
mov eax, dword [ebp - 0x38]
call fcn.004c7348
mov eax, 0x50ad14
call fcn.00508a14
test al, al
jne 0x50a082
mov eax, 0x50ad54
call fcn.00508a14
test al, al
je 0x50a0cc
mov eax, 0x50ad54
call fcn.00508a14
test al, al
je 0x50a0ae
mov eax, 0x50ad94
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50adcc
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x50a0df
mov eax, 0x50ade0
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50adcc
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x50a0df
push 0
push 0xa
mov cl, 1
mov edx, 0x50adcc
mov eax, dword [ebp - 0x38]
call fcn.004c7348
mov eax, 0x50ae20
call fcn.00508a14
test al, al
je 0x50a10b
mov eax, 0x50ae5c
call fcn.00508b74
cdq
push edx
push eax
mov cl, 1
mov edx, 0x50ae90
mov eax, dword [ebp - 0x38]
call fcn.004c7348
jmp 0x50a11e
push 0
push 0xa
mov cl, 1
mov edx, 0x50ae90
mov eax, dword [ebp - 0x38]
call fcn.004c7348
push dword [ebp - 4]
push 0x50aea4
lea eax, [ebp - 0x130]
push eax
mov ecx, 0x3e8
mov edx, dword [ebp - 0x38]
mov eax, dword [0x4c68e0]
call fcn.004c7fa8
mov eax, dword [ebp - 0x130]
lea edx, [ebp - 0x12c]
call fcn.0040ca78
mov eax, dword [ebp - 0x12c]
lea edx, [ebp - 0x128]
call fcn.00505080
push dword [ebp - 0x128]
lea eax, [ebp - 4]
mov edx, 3
call fcn.00406628
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50a19c
cmp dword [ebp - 0x38], 0
je 0x50a194
mov eax, dword [ebp - 0x38]
xor edx, edx
mov dword [ebp - 0x38], edx
call fcn.00403dac
ret
cmp byte [ebp + 0x10], 0
je 0x50a265
lea ecx, [ebp - 0x134]
mov edx, 0x50a520
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0x134]
mov edx, 0x50aec0
call fcn.00406814
jne 0x50a1fd
cmp dword [0x522a78], 0
je 0x50a1ea
push 0
push 1
push 0x520
mov eax, dword [0x522a78]
push eax
call sub.user32.dll_PostMessageW
jmp 0x50a251
push 0
xor ecx, ecx
or edx, 0xffffffff
mov eax, 0x201
call fcn.00505560
jmp 0x50a251
lea ecx, [ebp - 0x138]
mov edx, 0x50a520
mov eax, dword [ebp - 0x30]
call fcn.004269e4
mov eax, dword [ebp - 0x138]
xor edx, edx
call fcn.00507f28
test al, al
je 0x50a251
cmp dword [0x522a78], 0
je 0x50a240
push 0
push 2
push 0x520
mov eax, dword [0x522a78]
push eax
call sub.user32.dll_PostMessageW
jmp 0x50a251
push 0
xor ecx, ecx
or edx, 0xffffffff
mov eax, 0x200
call fcn.00505560
push 0
push 0
push 0x520
mov eax, dword [0x522a78]
push eax
call sub.user32.dll_PostMessageW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50a282
mov eax, dword [ebp - 0x30]
call fcn.00403dac
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50a2a5
cmp dword [ebp - 0x34], 0
je 0x50a29d
mov eax, dword [ebp - 0x34]
call fcn.00403dac
ret
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
call fcn.00406070
cmp byte [ebp + 0x10], 0
je 0x50a2dd
push 0
push 0
push 1
mov eax, dword [ebp - 4]
call fcn.004060fc
mov ecx, eax
mov edx, 0x50aecc
mov eax, dword [0x523390]
mov eax, dword [eax]
mov eax, dword [eax + 0x170]
call fcn.005069f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50a30f
lea eax, [ebp - 0x138]
mov edx, 0x3f
call fcn.00406068
lea eax, [ebp - 0x2c]
mov edx, 0xb
call fcn.00406068
ret