Function at 0x8f7b039
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x45c
mov eax, dword [0x8f8c1c4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor esi, esi
push 0x1f0
lea eax, [ebp - 0x3b0]
push esi
push eax
mov dword [ebp - 0x41c], esi
mov dword [ebp - 0x3b4], esi
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
mov dword [ebp - 0x420], esi
mov dword [ebp - 0x414], esi
mov dword [ebp - 0x418], esi
call fcn.08f79e09
test eax, eax
jne 0x8f7bbb7
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x8f7b0a8
xor eax, eax
jmp 0x8f7bbba
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b0d5
test byte [eax + 0x1c], 8
je 0x8f7b0d5
cmp byte [eax + 0x19], 5
jb 0x8f7b0d5
push 0x8f715cc
push 0x97
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d19
call fcn.08f850a1
test eax, eax
jne 0x8f7b102
cmp dword [ebx + 0x23c], esi
je 0x8f7b102
mov eax, dword [ebx + 0x26c]
mov dword [eax + 0x34], esi
mov eax, dword [ebx + 0x270]
mov dword [ebp - 0x414], 1
mov dword [eax + 0x34], esi
push 0x138
call fcn.08f83725
mov edi, eax
mov dword [ebp - 0x424], edi
cmp edi, esi
jne 0x8f7b156
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b0a1
test byte [eax + 0x1c], 8
je 0x8f7b0a1
cmp byte [eax + 0x19], 2
jb 0x8f7b0a1
push 0x8f715cc
push 0x98
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d19
jmp 0x8f7b0a1
push esi
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebx + 0x1c], eax
cmp eax, esi
jne 0x8f7b1a2
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b8fb
test byte [eax + 0x1c], 8
je 0x8f7b8fb
cmp byte [eax + 0x19], 2
jb 0x8f7b8fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f715cc
push 0x99
jmp 0x8f7b8eb
push esi
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebx + 0x20], eax
cmp eax, esi
jne 0x8f7b1ee
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b8fb
test byte [eax + 0x1c], 8
je 0x8f7b8fb
cmp byte [eax + 0x19], 2
jb 0x8f7b8fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f715cc
push 0x9a
jmp 0x8f7b8eb
push esi
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebx + 0x24], eax
cmp eax, esi
jne 0x8f7b23a
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b8fb
test byte [eax + 0x1c], 8
je 0x8f7b8fb
cmp byte [eax + 0x19], 2
jb 0x8f7b8fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f715cc
push 0x9b
jmp 0x8f7b8eb
lea eax, [ebp - 0x45c]
push eax
push esi
push ebx
push 0x8f7dd8c
push esi
push esi
mov dword [ebx + 0x260], esi
mov dword [ebx + 0x238], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x420], eax
cmp eax, esi
jne 0x8f7b2b0
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b8fb
test byte [eax + 0x1c], 8
je 0x8f7b8fb
cmp byte [eax + 0x19], 2
jb 0x8f7b8fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f715cc
push 0x9c
mov eax, dword [0x8f8c004]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
jmp 0x8f7b8fb
push 0x8f71804
call fcn.08f7a45c
mov dword [ebx + 0x278], eax
mov ecx, dword [0x8f8c004]
cmp ecx, 0x8f8c004
je 0x8f7b2f0
test byte [ecx + 0x1c], 8
je 0x8f7b2f0
cmp byte [ecx + 0x19], 5
jb 0x8f7b2f0
push eax
push 0x8f715cc
push 0x9d
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.08f72d3f
cmp dword [ebx + 0x278], 0x50050
push esi
push esi
push ebx
push 0x8f79562
jb 0x8f7b3b7
push 0x17b7
push 1
push edi
call fcn.08f73a64
push 0x178d
push 0x178c
push ebx
push 0x8f781c5
push 0x17b8
push 1
lea eax, [edi + 0x34]
push eax
call fcn.08f73a64
push 0x178f
push 0x178e
push ebx
push 0x8f789d2
push 0x17b9
push 1
lea eax, [edi + 0x68]
push eax
call fcn.08f73a64
push 0x1793
push 0x1792
push ebx
push 0x8f74dbc
push 0x17bb
push 1
lea eax, [edi + 0x9c]
push eax
call fcn.08f73a64
cmp dword [ebp - 0x414], esi
jne 0x8f7b3a3
push 0x17f7
push 0x17f6
push ebx
push 0x8f78fec
push 0x17c0
push 1
lea eax, [edi + 0xd0]
push eax
call fcn.08f73a64
push esi
push esi
push ebx
push 0x8f7a8d5
push 0x17bc
push 1
jmp 0x8f7b45b
push 0x17c2
push esi
push edi
call fcn.08f73a64
push 0x178d
push 0x178c
push ebx
push 0x8f781c5
push 0x17c3
push esi
lea eax, [edi + 0x34]
push eax
call fcn.08f73a64
push 0x178f
push 0x178e
push ebx
push 0x8f789d2
push 0x17c4
push esi
lea eax, [edi + 0x68]
push eax
call fcn.08f73a64
push 0x1793
push 0x1792
push ebx
push 0x8f74dbc
push 0x17c6
push esi
lea eax, [edi + 0x9c]
push eax
call fcn.08f73a64
cmp dword [ebp - 0x414], esi
jne 0x8f7b44d
push 0x17f7
push 0x17f6
push ebx
push 0x8f78fec
push 0x17c8
push esi
lea eax, [edi + 0xd0]
push eax
call fcn.08f73a64
push esi
push esi
push ebx
push 0x8f7a8d5
push 0x17c7
push esi
xor eax, eax
cmp dword [ebp - 0x414], esi
sete al
add eax, 4
imul eax, eax, 0x34
add eax, edi
push eax
call fcn.08f73a64
push 0x34
lea eax, [ebp - 0x458]
push esi
push eax
call sub.msvcrt.dll_memset
mov eax, dword [ebx + 0x278]
add esp, 0xc
cmp eax, 0x40047
sbb ecx, ecx
and ecx, 0xfffffff4
add ecx, 0x34
cmp eax, 0x50050
sbb eax, eax
and eax, 0xfef78000
add eax, 0x1088028
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x454], eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [ebp - 0x450], eax
mov eax, dword [0x8f8e3d0]
push esi
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], esi
mov dword [ebp - 0x444], 0x8f71600
mov dword [ebp - 0x440], 6
mov dword [ebp - 0x43c], esi
mov dword [ebp - 0x438], edi
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
mov dword [ebp - 0x41c], edi
cmp edi, esi
je 0x8f7b52b
push 0xc
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
xor ecx, ecx
cmp eax, 8
setge cl
push edi
push esi
add ecx, 0x17a0
mov dword [ebp - 0x418], ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [ebx + 0x278], 0x50050
jb 0x8f7b54d
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x428], 0x17a2
mov dword [ebp - 0x430], eax
push esi
lea eax, [ebp - 0x3b4]
push eax
push esi
push 0x29
mov dword [ebp - 0x3b4], 0x1f4
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
jne 0x8f7b5a6
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b8fb
test byte [eax + 0x1c], 8
je 0x8f7b8fb
cmp byte [eax + 0x19], 2
jb 0x8f7b8fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f715cc
push 0x9e
jmp 0x8f7b29b
push 0x17
pop ecx
push 0x17
lea esi, [ebp - 0x21c]
lea edi, [ebp - 0x164]
rep movsd dword es:[edi], dword [esi]
pop ecx
push 0x64
lea eax, [ebp - 0x108]
push eax
push 0x1799
push dword [0x8f8e3d0]
lea esi, [ebp - 0x21c]
lea edi, [ebp - 0x1c0]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
call esi
test eax, eax
jne 0x8f7b621
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b621
test byte [eax + 0x1c], 8
je 0x8f7b621
cmp byte [eax + 0x19], 3
jb 0x8f7b621
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x8f8c004]
push 0x8f715cc
push 0x9f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
push 0x1e
lea eax, [ebp - 0x40]
push eax
push 0x179a
push dword [0x8f8e3d0]
call esi
test eax, eax
jne 0x8f7b675
mov eax, dword [0x8f8c004]
mov edi, 0x8f8c004
cmp eax, edi
je 0x8f7b67a
test byte [eax + 0x1c], 8
je 0x8f7b67a
cmp byte [eax + 0x19], 3
jb 0x8f7b67a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x8f8c004]
push 0x8f715cc
push 0xa0
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
jmp 0x8f7b67a
mov edi, 0x8f8c004
push 0xa
lea eax, [ebp - 0x40]
push 0
push eax
call dword [sym.imp.msvcrt.dll_wcstoul]
add esp, 0xc
cmp word [ebp - 0x108], 0
mov dword [ebp - 0x418], eax
mov esi, 0x8f717e8
je 0x8f7b6a4
test eax, eax
jne 0x8f7b6f9
push esi
push 0x64
lea eax, [ebp - 0x108]
push eax
call fcn.08f765c2
test eax, eax
jge 0x8f7b6ef
mov ecx, dword [0x8f8c004]
cmp ecx, edi
je 0x8f7b8fb
test byte [ecx + 0x1c], 8
je 0x8f7b8fb
cmp byte [ecx + 0x19], 2
jb 0x8f7b8fb
push eax
push 0x8f715cc
push 0xa1
push dword [ecx + 0x14]
push dword [ecx + 0x10]
jmp 0x8f7b2a6
mov dword [ebp - 0x418], 0x12
lea eax, [ebp - 0x108]
push eax
push 0x20
lea eax, [ebp - 0x148]
push eax
call fcn.08f765c2
test eax, eax
jge 0x8f7b741
mov ecx, dword [0x8f8c004]
cmp ecx, edi
je 0x8f7b8fb
test byte [ecx + 0x1c], 8
je 0x8f7b8fb
cmp byte [ecx + 0x19], 2
jb 0x8f7b8fb
push eax
push 0x8f715cc
push 0xa2
jmp 0x8f7b6e4
push esi
push 0x20
lea eax, [ebp - 0x1a4]
mov edi, 0x2bc
push eax
mov dword [ebp - 0x154], edi
call fcn.08f765c2
test eax, eax
jge 0x8f7b795
mov ecx, dword [0x8f8c004]
cmp ecx, 0x8f8c004
je 0x8f7b8fb
test byte [ecx + 0x1c], 8
je 0x8f7b8fb
cmp byte [ecx + 0x19], 2
jb 0x8f7b8fb
push eax
push 0x8f715cc
push 0xa3
jmp 0x8f7b6e4
push esi
push 0x20
lea eax, [ebp - 0x3f4]
push eax
mov dword [ebp - 0x1b0], edi
call fcn.08f765c2
test eax, eax
jge 0x8f7b7e4
mov ecx, dword [0x8f8c004]
cmp ecx, 0x8f8c004
je 0x8f7b8fb
test byte [ecx + 0x1c], 8
je 0x8f7b8fb
cmp byte [ecx + 0x19], 2
jb 0x8f7b8fb
push eax
push 0x8f715cc
push 0xa4
jmp 0x8f7b6e4
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
mov dword [ebp - 0x41c], edi
test edi, edi
jne 0x8f7b832
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b8fb
test byte [eax + 0x1c], 8
je 0x8f7b8fb
cmp byte [eax + 0x19], 2
jb 0x8f7b8fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f715cc
push 0xa5
jmp 0x8f7b8eb
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x5a
push edi
call esi
imul eax, dword [ebp - 0x418]
push 0xffffffffffffffb8
pop ecx
cdq
idiv ecx
push 0x5a
push edi
mov dword [ebp - 0x164], eax
call esi
imul eax, eax, 0xfffffff7
push 0x48
pop ecx
cdq
idiv ecx
push 0x5a
push edi
mov dword [ebp - 0x1c0], eax
call esi
mov esi, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
lea eax, [ebp - 0x164]
push eax
call esi
mov dword [ebx + 0x234], eax
test eax, eax
jne 0x8f7b8ad
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b8fb
test byte [eax + 0x1c], 8
je 0x8f7b8fb
cmp byte [eax + 0x19], 2
jb 0x8f7b8fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f715cc
push 0xa6
jmp 0x8f7b8eb
lea eax, [ebp - 0x1c0]
push eax
call esi
xor esi, esi
mov dword [ebx + 0x27c], eax
cmp eax, esi
jne 0x8f7b904
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b8fb
test byte [eax + 0x1c], 8
je 0x8f7b8fb
cmp byte [eax + 0x19], 2
jb 0x8f7b8fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f715cc
push 0xa7
mov eax, dword [0x8f8c004]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
and dword [ebp - 0x414], 0
jmp 0x8f7b96b
push edi
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
lea eax, [ebp - 0x458]
push eax
mov dword [ebp - 0x41c], esi
call fcn.08f79d59
test eax, eax
jle 0x8f7b92c
mov eax, dword [ebx]
mov dword [ebp - 0x414], eax
jmp 0x8f7b96b
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7b965
test byte [eax + 0x1c], 8
je 0x8f7b965
cmp byte [eax + 0x19], 2
jb 0x8f7b965
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x8f8c004]
push 0x8f715cc
push 0xa8
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
mov dword [ebp - 0x414], esi
cmp dword [ebp - 0x420], 0
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x8f7ba16
push 0xffffffffffffffff
push dword [ebp - 0x420]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x8f7b9cd
mov eax, dword [0x8f8c004]
mov esi, 0x8f8c004
cmp eax, esi
je 0x8f7b9d2
test byte [eax + 0x1c], 8
je 0x8f7b9d2
cmp byte [eax + 0x19], 2
jb 0x8f7b9d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x8f8c004]
push 0x8f715cc
push 0xa9
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
jmp 0x8f7b9d2
mov esi, 0x8f8c004
push dword [ebp - 0x420]
call edi
test eax, eax
jne 0x8f7ba1b
mov eax, dword [0x8f8c004]
cmp eax, esi
je 0x8f7ba1b
test byte [eax + 0x1c], 8
je 0x8f7ba1b
cmp byte [eax + 0x19], 2
jb 0x8f7ba1b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x8f8c004]
push 0x8f715cc
push 0xaa
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
jmp 0x8f7ba1b
mov esi, 0x8f8c004
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x8f7ba5f
push eax
call edi
test eax, eax
jne 0x8f7ba5f
mov eax, dword [0x8f8c004]
cmp eax, esi
je 0x8f7ba5f
test byte [eax + 0x1c], 8
je 0x8f7ba5f
cmp byte [eax + 0x19], 2
jb 0x8f7ba5f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x8f8c004]
push 0x8f715cc
push 0xab
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x8f7baa3
push eax
call edi
test eax, eax
jne 0x8f7baa3
mov eax, dword [0x8f8c004]
cmp eax, esi
je 0x8f7baa3
test byte [eax + 0x1c], 8
je 0x8f7baa3
cmp byte [eax + 0x19], 2
jb 0x8f7baa3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x8f8c004]
push 0x8f715cc
push 0xac
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x8f7bae7
push eax
call edi
test eax, eax
jne 0x8f7bae7
mov eax, dword [0x8f8c004]
cmp eax, esi
je 0x8f7bae7
test byte [eax + 0x1c], 8
je 0x8f7bae7
cmp byte [eax + 0x19], 2
jb 0x8f7bae7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x8f8c004]
push 0x8f715cc
push 0xad
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d3f
cmp dword [ebp - 0x41c], 0
je 0x8f7bafe
push dword [ebp - 0x41c]
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp dword [ebx + 0x278], 0x50050
jb 0x8f7bb2b
mov esi, dword [ebp - 0x424]
push 6
add esi, 0x2c
pop edi
push dword [esi - 4]
call fcn.08f837bd
push dword [esi]
call fcn.08f837bd
add esi, 0x34
dec edi
jne 0x8f7bb16
mov eax, dword [ebx + 0x260]
test eax, eax
je 0x8f7bb3c
push eax
call dword [sym.imp.FXSAPI.dll_FaxFreeBuffer]
push dword [ebp - 0x424]
call fcn.08f837bd
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
lea esi, [ebx + 0x234]
mov eax, dword [esi]
test eax, eax
je 0x8f7bb5f
push eax
call edi
and dword [esi], 0
lea esi, [ebx + 0x27c]
mov eax, dword [esi]
test eax, eax
je 0x8f7bb71
push eax
call edi
and dword [esi], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x8f7bb82
push eax
call fcn.08f7c685
and dword [ebx + 4], 0
mov eax, dword [0x8f8c004]
cmp eax, 0x8f8c004
je 0x8f7bbaf
test byte [eax + 0x1c], 8
je 0x8f7bbaf
cmp byte [eax + 0x19], 5
jb 0x8f7bbaf
push 0x8f715cc
push 0xae
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.08f72d19
mov eax, dword [ebp - 0x414]
jmp 0x8f7bbba
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.08f82466
leave
ret 4