Function at 0x10009f55
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x1006998e
call fcn.10069570
sub esp, 0x154
push ebx
push esi
mov dword [ebp - 0x3c], 0x825e7a66
xor ebx, ebx
push edi
mov dword [ebp - 0x3c], 0xfffffff8
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x31], dl
inc edi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x1c], ebx
jmp 0x10009f9c
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x108], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10009f8b
inc dword [ebp - 0x24]
mov dword [ebp - 0x24], ebx
jmp 0x10009fb2
mov dword [ebp - 0x18], edi
inc dword [ebp - 0x18]
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x17
jle 0x10009fa9
mov dword [ebp - 0x1c], ebx
jmp 0x10009fce
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x140], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x10009fbd
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10009fe3
push ebx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x10], 5
mov dword [ebp - 0x20], 0xbef7d651
mov dword [ebp - 0x1c], ebx
jmp 0x1000a00d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x15c], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10009ffc
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x1c], 0x73565364
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], 6
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], ebx
je 0x1000a05c
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp eax, 0x5900
setl cl
xor edx, edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0xffffffff
setg al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, eax
add ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp ecx, 8
setle dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x10], ebx
jmp 0x1000a105
mov dword [ebp - 0x18], 0x74f9
mov dword [ebp - 0x3c], 0xd005
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1000a0e1
mov dword [ebp - 0x3c], 0x3202f603
dec dword [ebp - 0x18]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jle 0x1000a0d4
mov eax, dword [ebp - 0x18]
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x154]
sets dl
xor ecx, ecx
dec edx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jg 0x1000a0be
mov eax, dword [ebp + 8]
mov edi, dword [0x100705ec]
mov dword [ebp - 0x3c], edi
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
cmp byte [ebp - 0x31], bl
je 0x1000a1db
xor ecx, ecx
inc ecx
cmp edi, ecx
jne 0x1000a1db
push ecx
lea ecx, [ebp - 0x120]
mov dword [eax + 8], 4
call fcn.1000e524
xor edx, edx
mov dword [ebp - 0x1c], 0xfffffffa
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1000a16a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0x41e55969
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1000a157
mov dword [ebp - 0x10], ebx
jmp 0x1000a182
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x58], 0xfffffffe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1000a174
mov dword [ebp - 0x54], ebx
cmp dword [ebp - 0x54], ebx
jl 0x1000a1aa
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1000a1a2
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegGetKeySecurity]
mov eax, dword [ebp - 0x54]
dec dword [ebp - 0x54]
jns 0x1000a190
mov dword [ebp - 0x1c], ebx
jmp 0x1000a1c0
mov dword [ebp - 0x30], 0xa095
mov dword [ebp - 0x30], 0xc0001115
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff8
jl 0x1000a1af
lea ecx, [ebp - 0x120]
call fcn.1000e5a6
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], 0x100705ec
push 2
lea ecx, [ebp - 0xdc]
call fcn.1000e524
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x30], 0x68729207
push 4
call fcn.1000e524
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], ebx
jmp 0x1000a221
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xdc]
mov dword [eax + ecx*4], 0x90ac204e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1000a20e
mov dword [ebp - 0x10], ebx
jmp 0x1000a23f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xf4]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1000a22c
mov eax, dword [ebp - 0xdc]
mov dword [eax], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf889e022
je 0x1000a25c
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2c], eax
call fcn.1000e5a6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.1000e5a6
cmp esi, edi
jge 0x1000ac93
mov edi, 0x100705f0
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x80]
push 3
mov dword [ebp - 0x1c], edi
call fcn.1000e524
xor eax, eax
lea ecx, [ebp - 0x12c]
inc eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], 0xf40e13f5
mov dword [ebp - 0x24], 0x75015e0c
mov dword [ebp - 0x2c], 8
push 2
call fcn.1000e524
xor edx, edx
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1000a2e6
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x38], 0xd9ba07e4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1000a2d8
mov dword [ebp - 0x10], ebx
jmp 0x1000a301
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc4], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1000a2f0
mov dword [ebp - 0x10], ebx
jmp 0x1000a318
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x80]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1000a30c
mov dword [ebp - 0x10], ebx
jmp 0x1000a336
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0x7b364fe
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1000a323
cmp dword [ebp - 0x38], ebx
jne 0x1000a382
mov eax, ebx
xor edx, edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x38]
setle dl
sub eax, edx
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xc4], ecx
jne 0x1000a37f
cmp dword [ebp - 0x18], ebx
jne 0x1000a37f
mov edx, ebx
jmp 0x1000a382
xor edx, edx
inc edx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
cmp edx, dword [eax]
mov eax, dword [ebp - 0x38]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x80]
setne dl
sub edx, dword [eax]
mov eax, dword [ebp - 0x30]
sub edx, 0x4709
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
add ecx, 0x4c5530c4
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
cmp eax, 0xffffffff
setge cl
add ecx, dword [ebp - 0xc4]
cmp ecx, 1
sbb eax, eax
xor edx, edx
neg eax
lea ecx, [eax - 7]
mov eax, dword [ebp - 0x38]
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, 0xd816
setle al
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebp - 0x18]
imul eax, ecx
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x18], eax
call fcn.1000e5a6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.1000e5a6
mov dword [ebp - 0x30], ebx
test esi, esi
jle 0x1000a9ac
xor esi, esi
inc esi
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x20], ebx
jmp 0x1000a50d
mov dword [ebp - 0x10], ebx
jmp 0x1000a455
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x40], 0xc90a35f3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1000a447
mov dword [ebp - 0x10], ebx
jmp 0x1000a469
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1000a45f
mov dword [ebp - 0x40], ebx
jmp 0x1000a500
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x2c], 9
mov dword [ebp - 0x24], ebx
jmp 0x1000a4c8
mov dword [ebp - 0x18], 0xc590
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
sub edx, ecx
mov dword [ebp - 0x48], edx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffea
jne 0x1000a48c
mov ecx, esi
cmp dword [ebp - 0x10], ebx
jne 0x1000a4d7
mov ecx, ebx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], 0xfffffffd
mov dword [ebp - 0x24], 0xfffffffd
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffee
jge 0x1000a476
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff3
jne 0x1000a442
mov eax, dword [edi]
lea ecx, [ebp - 0x70]
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10009060]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x150]
mov dword [ebp - 0x70], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x150], xmm0
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.1000f74d
mov dword [ebp - 4], 2
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x1000a5ec
mov edi, dword [ebp - 0x70]
push 3
lea ecx, [ebp - 0xd0]
call fcn.1000e524
mov dword [ebp - 0x24], ebx
jmp 0x1000a593
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xd0]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x1000a584
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd0]
mov esi, dword [eax + 8]
xor eax, eax
cmp dword [edi + 8], esi
setle al
xor ecx, ecx
cmp eax, 0x815cbcef
mov eax, dword [ebp - 0x70]
setne cl
cmp dword [eax + edx*4], ecx
jl 0x1000a5ca
test esi, esi
je 0x1000a5ca
xor esi, esi
inc esi
mov ecx, esi
jmp 0x1000a5cf
xor esi, esi
mov ecx, ebx
inc esi
mov eax, 0x62231067
sub eax, ecx
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x28], eax
call fcn.1000e5a6
dec dword [ebp - 0x20]
jns 0x1000a572
mov edi, dword [ebp - 0x1c]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.1000e5a6
add edi, 4
mov dword [ebp - 0x10], 0x9be1d925
push 2
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x1c], edi
call fcn.1000e524
mov dword [ebp - 0x10], ebx
jmp 0x1000a628
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x138], 0x648261f9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1000a617
push 2
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x1000a645
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe8]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1000a636
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], ebx
jl 0x1000a695
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000a671
push ebx
push 0x1b3e
push 0x7b7
push 0x1abb
call dword [sym.imp.GDI32.dll_GetDIBColorTable]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000a690
push 0x100
push 0x24c1
push ebx
push 0x14fd
call dword [sym.imp.USER32.dll_CreateCaret]
dec dword [ebp - 0x10]
jns 0x1000a652
mov dword [ebp - 0x10], 0xfffffffc
jmp 0x1000a6f8
mov dword [ebp - 0x18], 0x9637
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x9ba87a5
cmp dword [ebp - 0x10], ebx
jne 0x1000a6e8
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp eax, ecx
mov eax, dword [ebp - 0x134]
setle dl
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
mov dword [ebp - 0x2c], ecx
mov ecx, ebx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x134], ebx
je 0x1000a6ea
mov ecx, esi
mov eax, dword [ebp - 0xe8]
mov dword [eax], ecx
mov dword [ebp - 0x28], ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffea
jl 0x1000a69e
lea ecx, [ebp - 0xe8]
call fcn.1000e5a6
mov esi, dword [edi]
lea ecx, [ebp - 0xb8]
push 1
mov dword [ebp - 0x18], esi
call fcn.1000e524
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x2c], 0xf17e2f9d
mov dword [ebp - 0x28], 0xfffffff8
push 4
call fcn.1000e524
xor edx, edx
mov byte [ebp - 4], 4
mov dword [ebp - 0x10], ebx
inc edx
jmp 0x1000a763
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb8]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1000a750
mov dword [ebp - 0x10], ebx
jmp 0x1000a780
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x98]
mov dword [eax + ecx*4], 0x637c1d6b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1000a76d
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jg 0x1000a8f2
mov edi, dword [ebp - 0x98]
push edx
lea ecx, [ebp - 0xac]
call fcn.1000e524
mov eax, 0x362daab7
xor edx, edx
mov dword [ebp - 0x104], eax
inc edx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x28], 0x84868fda
mov dword [ebp - 0x28], 0x2ad015b0
mov dword [ebp - 0x28], 0xc3f90802
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x20], ebx
jmp 0x1000a7f5
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xac]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1000a7e5
mov dword [ebp - 0x20], ebx
jmp 0x1000a810
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa0], 0x6a83cd0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1000a7ff
mov eax, dword [ebp - 0xac]
cmp dword [eax], ebx
jne 0x1000a826
dec dword [ebp - 0xa0]
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0x2c]
sub edx, eax
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x98]
setge cl
xor edx, edx
cmp ecx, dword [edi + 0xc]
setge dl
xor ecx, ecx
cmp dword [eax], edx
mov eax, dword [ebp - 0xb8]
setne cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov edx, dword [eax + esi*4]
add edx, dword [eax]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], eax
mov byte [ebp - 0x11], bl
sete cl
cmp edx, ecx
jg 0x1000a896
cmp byte [ebp - 0x11], 0
je 0x1000a8d2
push 0x1666
push 0x72f
push 0xca2
push ebx
call dword [sym.imp.USER32.dll_GetMessageA]
jmp 0x1000a8d2
cmp byte [ebp - 0x11], 0
je 0x1000a8cb
push ebx
push 0x1086
push 0xbf0
push 0x1b54
push 0x2106
push 0x11f9
push 0x28a
push 0x2650
push 0x1967
call dword [sym.imp.GDI32.dll_BitBlt]
mov dword [ebp - 0x28], 0x236bbbd2
lea ecx, [ebp - 0xac]
call fcn.1000e5a6
inc dword [ebp - 0x10]
push 1
pop edx
cmp dword [ebp - 0x10], ebx
jle 0x1000a798
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x10], ebx
jmp 0x1000a909
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000a906
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffed
jne 0x1000a8f7
lea ecx, [ebp - 0x98]
call fcn.1000e5a6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb8]
call fcn.1000e5a6
add edi, 4
test esi, esi
jne 0x1000a933
add edi, 8
push 2
lea ecx, [ebp - 0x114]
call fcn.1000e524
xor esi, esi
mov dword [ebp - 0x18], 0x57976326
mov dword [ebp - 0x1c], ebx
inc esi
cmp dword [ebp - 0x1c], 2
jge 0x1000a964
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x1c]
jmp 0x1000a94d
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], ebx
jl 0x1000a989
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000a984
push ebx
push ebx
push 0xd55
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
dec dword [ebp - 0x18]
jns 0x1000a96c
lea ecx, [ebp - 0x114]
call fcn.1000e5a6
add edi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], eax
cmp eax, dword [ebp - 0x44]
jl 0x1000a429
jmp 0x1000a9af
xor esi, esi
inc esi
mov dword [ebp - 0x18], 0xae355683
mov dword [ebp - 0x18], 0xfffffff3
jmp 0x1000aa2b
mov dword [ebp - 0x20], 0x3111738a
mov dword [ebp - 0x10], 0x568d526d
mov dword [ebp - 0x1c], ebx
jmp 0x1000a9e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4c], 0x13244d51
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x1000a9d2
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], ebx
jmp 0x1000aa22
mov dword [ebp - 0x20], ebx
jmp 0x1000aa1a
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], ebx
jmp 0x1000aa12
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x1000aa17
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jle 0x1000aa06
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1000a9fa
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffa
jge 0x1000a9f5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 6
jl 0x1000a9bf
mov esi, dword [edi]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1000aa4d
mov dword [ebp - 0x30], 3
cmp dword [ebp - 0x30], ebx
jne 0x1000aa53
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x16
jle 0x1000aa3b
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000aa6a
push 0x25a7
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x20], 3
push 1
mov dword [ebp - 0x28], eax
call fcn.1000e524
mov dword [ebp - 0x1c], 0x11d0
xor edx, edx
mov dword [ebp - 0x44], 0xcd1ac8c6
inc edx
mov dword [ebp - 0x18], ebx
jmp 0x1000aaa7
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1000aa97
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x64]
setg cl
mov dword [eax], ecx
xor eax, eax
test ecx, ecx
mov ecx, 0xc8dfba22
setne al
cmp eax, 1
sbb eax, eax
inc eax
cmp ecx, eax
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setne dl
xor eax, eax
cmp edx, 0x74a52027
setne al
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0x19
jmp 0x1000ab6e
mov dword [ebp - 0x18], 0xbdebf889
xor edx, edx
mov dword [ebp - 0x50], 0x90aec51
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x64]
mov dword [eax], 1
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], 0x68729207
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x64]
setg dl
imul edx, dword [eax]
mov eax, dword [ebp - 0x18]
neg edx
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x20]
sub edx, eax
mov eax, dword [ebp - 0x64]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [ebp - 0x44]
setg cl
imul ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
add eax, 0x48dea89a
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x1a
jle 0x1000ab04
lea ecx, [ebp - 0x64]
call fcn.1000e5a6
mov dword [ebp - 0x1c], 0xa61928c1
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000ab92
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov dword [ebp - 0x1c], ebx
jmp 0x1000abc7
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x18], 0x14
jmp 0x1000abbe
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x1000abbb
push 0x9c0
call dword [sym.imp.GDI32.dll_GetBkColor]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x16
jle 0x1000aba7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x10
jle 0x1000ab97
cmp dword [ebp - 0x28], 0
jne 0x1000ac93
cmp byte [ebp - 0x31], 0
je 0x1000abec
cmp dword [ebp - 0x3c], 1
jne 0x1000abec
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0xc]
add edi, 0x10
push esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], edi
call fcn.1004c992
pop ecx
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x8c]
lea eax, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
push eax
push esi
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
call fcn.1000eb5f
mov edi, dword [ebp - 0x8c]
mov ecx, ebx
test esi, esi
jle 0x1000ac7d
mov eax, ecx
and eax, 0x80000001
jns 0x1000ac47
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x3c]
add eax, ecx
add eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x4c]
jmp 0x1000ac5c
lea eax, [edx + 1]
cdq
idiv esi
cmp word [edi + edx*2], bx
jne 0x1000ac59
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x1c]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x30]
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x1000ac39
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x30]
mov dword [ecx], esi
mov dword [ecx + 4], eax
test edi, edi
je 0x1000ac93
push edi
call fcn.10052b91
pop ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret