Function at 0x42efa3
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x198
push ebx
push esi
push edi
push 3
mov dword [ebp - 0x24], 0x3a4a
xor ebx, ebx
pop edi
mov dword [ebp - 0x30], ecx
inc ebx
mov dword [ebp - 0x24], 0x6aabecba
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x24], 0xbd97a888
mov dword [ebp - 0x24], ebx
push edi
mov byte [ebp - 0x29], dl
call fcn.0042ec30
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], esi
jmp 0x42effc
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x13c]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x42efe9
inc dword [ebp - 0x18]
lea ecx, [ebp - 0x13c]
call fcn.0042ed02
push 4
lea ecx, [ebp - 0xf8]
call fcn.0042ec30
mov dword [ebp - 0x10], 0x532fe223
mov dword [ebp - 0x10], esi
jmp 0x42f03b
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 0xb9b5
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x42f028
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], esi
jl 0x42f060
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
dec dword [ebp - 0x10]
jns 0x42f049
lea ecx, [ebp - 0xf8]
call fcn.0042ed02
mov eax, dword [0x49f5ec]
mov dword [ebp - 8], 0xfffffff7
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x18], 0x99314e76
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0x9c089ced
mov dword [ebp - 0x14], eax
jmp 0x42f0a6
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x178], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x42f099
cmp dword [ebp - 8], eax
jne 0x42f0cc
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x10], eax
je 0x42f0ce
cmp dword [ebp - 8], eax
je 0x42f0ce
mov esi, ebx
mov ecx, dword [ebp - 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x10]
cmp ecx, esi
mov edi, dword [ebp + 8]
setle dl
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
neg edx
mov dword [edi], eax
sbb edx, edx
mov dword [edi + 4], eax
neg edx
mov dword [edi + 8], eax
xor ebx, ebx
mov dword [edi + 0xc], eax
cmp edx, ecx
sete bl
xor edx, edx
imul ebx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
neg ebx
cmp ebx, ecx
mov ecx, dword [ebp - 0x10]
setg dl
xor ebx, ebx
cmp edx, ecx
mov ecx, dword [ebp - 0x1c]
setne bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 8]
setl dl
mov dword [ebp - 0x18], edx
xor edx, edx
cmp dword [ebp - 0x18], ecx
setg dl
xor ebx, ebx
neg edx
mov dword [ebp - 0x174], edx
cmp byte [ebp - 0x29], al
je 0x42f207
inc ebx
cmp dword [ebp - 0x34], ebx
jne 0x42f203
push 3
lea ecx, [ebp - 0xec]
call fcn.0042ec30
xor esi, esi
mov dword [ebp - 0x14], esi
jmp 0x42f17d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xec]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42f16e
mov eax, dword [ebp - 0xec]
lea ecx, [ebp - 0xec]
mov dword [eax + 8], 0xffffffe4
call fcn.0042ed02
push 2
lea ecx, [ebp - 0xe0]
mov dword [edi + 8], 4
call fcn.0042ec30
mov dword [ebp - 0x14], 0xd8e5ccc9
mov dword [ebp - 0x14], esi
jmp 0x42f1ce
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
mov dword [eax + ecx*4], 0xdf75dcec
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42f1bb
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], esi
jl 0x42f1ef
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe0]
cmp dword [eax + ecx*4], esi
jne 0x42f1ef
dec dword [ebp - 0x14]
jns 0x42f1dc
lea ecx, [ebp - 0xe0]
call fcn.0042ed02
mov dword [edi + 0xc], 0x49f5ec
jmp 0x42f20a
xor esi, esi
jmp 0x42f20a
xor esi, esi
inc ebx
mov dword [ebp - 8], 0xfffffffd
mov dword [ebp - 0x20], 0xed7c6ae4
mov dword [ebp - 0x18], 0xec1b16eb
mov dword [ebp - 8], 0x19
jmp 0x42f2c8
mov dword [ebp - 0x1c], 0xdf94
lea ecx, [ebp - 0x104]
push 2
call fcn.0042ec30
mov dword [ebp - 0x18], 0x60d64c9d
mov dword [ebp - 0x14], esi
jmp 0x42f25e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x104]
mov dword [eax + ecx*4], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42f24b
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
imul edx, dword [ebp - 8]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x104]
neg edx
sbb edx, edx
inc edx
sub edx, dword [eax + 4]
mov eax, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 8]
setg cl
add edx, 0x1137f0e0
add ecx, edx
xor edx, edx
cmp ecx, eax
setl dl
sub edx, dword [ebp - 8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
test eax, eax
setg cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x104]
call fcn.0042ed02
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xb
jge 0x42f22b
mov ebx, dword [ebp - 0x30]
cmp ebx, dword [ebp - 0x34]
jge 0x42fd52
mov dword [ebp - 0x10], 0x8a61928c
mov edi, 0x49f5f0
mov dword [ebp - 0x18], 0xd193
xor eax, eax
mov dword [ebp - 0x24], 0x29edca8f
mov dword [ebp - 0x10], 9
cmp dword [ebp - 0x10], 4
je 0x42f33b
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebp - 0x10], eax
je 0x42f316
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, 0x66a92721
setle dl
xor ecx, ecx
cmp edx, 0xffffffff
setl cl
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x10]
jmp 0x42f301
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f34e
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
xor eax, eax
test ebx, ebx
jle 0x42f78c
jmp 0x42f35a
xor eax, eax
mov dword [ebp - 0x24], 0xffffffff
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f389
push eax
push 0x2e6
push eax
push 0x1445
push 0x159c
push eax
push 0xb83
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f39f
push 0x1bb6
call dword [sym.imp.USER32.dll_MessageBeep]
xor eax, eax
mov ecx, dword [edi]
mov dword [ebp - 0x14], 0x68206240
mov dword [ebp - 0x38], eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
mov dword [ebp - 0x24], ecx
je 0x42f3c0
push eax
call dword [sym.imp.GDI32.dll_GetObjectType]
xor eax, eax
mov dword [ebp - 0x14], 0xffffffef
jmp 0x42f3d8
mov dword [ebp - 0x18], 0x5e00fe1c
cmp dword [ebp - 0x18], eax
jne 0x42f3de
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff5
jg 0x42f3c9
mov dword [ebp - 0x38], 0x312fbb6b
add edi, 4
push 6
pop edx
mov dword [ebp - 0x90], edx
xor ebx, ebx
mov dword [ebp - 0x8c], edx
inc ebx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x20], 4
mov dword [ebp - 0x28], 0x9c5a74d4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], eax
jmp 0x42f430
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x18c], 0x8a99
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42f41f
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
dec dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
sub ecx, edx
cmp ecx, edx
mov ecx, dword [ebp - 0x8c]
sbb esi, esi
xor edx, edx
inc esi
sub esi, ecx
mov ecx, dword [ebp - 0x8c]
cmp esi, ecx
mov ecx, dword [ebp - 0x84]
sete dl
imul ecx, edx
mov dword [ebp - 0x20], ecx
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f47c
call dword [sym.imp.USER32.dll_GetCapture]
mov eax, dword [edi]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 8], ebx
push 3
mov dword [ebp - 0x38], eax
call fcn.0042ec30
mov dword [ebp - 0x20], 0x81720d70
xor esi, esi
mov dword [ebp - 0x1c], 0x9d73ae4c
mov dword [ebp - 0x14], esi
jmp 0x42f4b3
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42f4a3
mov dword [ebp - 8], esi
cmp dword [ebp - 8], 4
jne 0x42f663
mov ebx, dword [ebp - 0x7c]
xor edi, edi
inc edi
mov dword [ebp - 0x28], 0xffffffff
lea ecx, [ebp - 0x70]
push edi
call fcn.0042ec30
mov dword [ebp - 0x3c], 0x45e2138b
xor edx, edx
mov dword [ebp - 0x1c], 0x46aa1dd5
inc edx
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], esi
jmp 0x42f505
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x42f4f9
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebx + 4]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c]
add ecx, dword [eax]
xor eax, eax
cmp ecx, 0x25452e2c
setl al
cmp eax, dword [ebp - 0x3c]
jl 0x42f53e
cmp dword [ebp - 0x1c], esi
jne 0x42f540
mov edx, esi
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
sete cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x28]
cmp dword [eax], esi
mov eax, dword [ebp - 0x70]
setne dl
sub ecx, edx
xor edx, edx
cmp ecx, dword [eax]
setne dl
sub edx, 0xe8e103ca
neg edx
sbb edx, edx
xor eax, eax
add edx, 0xa9a1ec67
cmp edx, 0xaa48
setl al
cmp eax, dword [ebp - 0x10]
jne 0x42f5b0
xor edi, edi
mov dword [ebp - 0x10], esi
inc edi
jmp 0x42f5a6
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x42f59a
jmp 0x42f648
push 3
lea ecx, [ebp - 0xc8]
call fcn.0042ec30
xor edi, edi
inc edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x28], esi
jmp 0x42f5e2
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 0xa7003b9f
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x42f5cf
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], esi
cmp dword [ebx + 4], esi
jne 0x42f61a
mov eax, dword [ebp - 0x70]
cmp dword [eax], esi
jne 0x42f606
mov eax, dword [ebp - 0x1c]
mov ecx, esi
neg eax
jne 0x42f608
mov ecx, edi
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 8]
imul eax, ecx
mov ecx, esi
test eax, eax
je 0x42f61c
mov ecx, edi
add ecx, 0xffffd4d4
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x70]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
xor eax, eax
cmp ecx, 0xf5f1
lea ecx, [ebp - 0xc8]
sete al
mov dword [ebp - 0x3c], eax
call fcn.0042ed02
lea ecx, [ebp - 0x70]
call fcn.0042ed02
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
je 0x42f4cc
mov edi, dword [ebp - 0x18]
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x7c]
call fcn.0042ed02
push 2
lea ecx, [ebp - 0xd4]
add edi, 4
call fcn.0042ec30
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x18], 0xb4b5a9ce
push 2
mov dword [ebp - 0x18], 0x9d20578c
mov dword [ebp - 8], esi
pop edx
jmp 0x42f6b2
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 0xa87013dc
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x42f69f
mov dword [ebp - 8], esi
jmp 0x42f6cd
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0xb0], 0xffffffff
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x42f6bc
mov dword [ebp - 8], esi
jmp 0x42f6e4
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x184], ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x42f6d7
mov ebx, dword [ebp - 0xd4]
xor eax, eax
cmp dword [ebx + 4], 0x1ec2
setg al
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
xor eax, eax
mov dword [ebp - 0xac], esi
cmp eax, dword [ebx + 4]
sbb eax, eax
inc eax
cmp dword [ebp - 0x3c], eax
jne 0x42f720
cmp dword [ebp - 0xb0], esi
je 0x42f720
xor esi, esi
inc esi
mov edx, dword [ebx + 4]
xor ecx, ecx
cmp esi, dword [ebx + 4]
setge cl
xor eax, eax
cmp ecx, dword [ebx + 4]
setne al
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, edx
setg cl
add ecx, edx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x18], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x18]
imul eax, edx
cmp eax, edx
setg cl
cmp ecx, 0xc86695cd
sbb eax, eax
xor ecx, ecx
neg eax
cmp edx, eax
setl cl
mov dword [ebp - 0x17c], ecx
lea ecx, [ebp - 0xd4]
call fcn.0042ed02
cmp dword [ebp - 0x38], 0
jne 0x42f780
add edi, 8
add edi, dword [ebp - 0x24]
dec dword [ebp - 0x30]
jne 0x42f358
mov eax, 0x2e91a04
xor ebx, ebx
mov dword [ebp - 0x58], eax
mov ecx, 0x8fd5f396
mov dword [ebp - 0x54], eax
inc ebx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x24], 0x817bb5c0
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x30], 0x7236c342
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xffffffe5
jne 0x42f9d8
xor esi, esi
mov dword [ebp - 8], 0x24f84b81
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x10], 8
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x28], 0xffffffff
push 2
call fcn.0042ec30
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x24], 0x34309e95
mov dword [ebp - 8], esi
jmp 0x42f838
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x148]
mov dword [eax + ecx*4], 0x1169
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x42f825
mov dword [ebp - 8], esi
jmp 0x42f854
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x14c], 0x91c6c8ec
inc dword [ebp - 8]
cmp dword [ebp - 8], ebx
jl 0x42f843
mov dword [ebp - 8], 6
jmp 0x42f917
mov dword [ebp - 0x1c], 0xd8af
lea ecx, [ebp - 0xbc]
push 2
call fcn.0042ec30
mov dword [ebp - 0x20], esi
jmp 0x42f891
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0x11d7feae
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x42f87e
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], esi
je 0x42f8e1
mov dword [ebp - 0x1c], 4
cmp dword [ebp - 0x1c], 0x16b5b384
je 0x42f8bb
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x54]
cmp ecx, eax
mov eax, dword [ebp - 0x54]
setle dl
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x10]
cmp edx, eax
mov eax, ebx
setge cl
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], esi
jne 0x42f8e3
mov eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x10]
test eax, eax
je 0x42f8f4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0xbc]
call fcn.0042ed02
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x19
jl 0x42f865
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], esi
jl 0x42f9be
mov eax, 0xfde6
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x24], 0xfa7bb34e
mov dword [ebp - 0x20], esi
jmp 0x42f967
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x198], 0x3d47ebdc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x42f956
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x28]
cmp eax, 0xf322
mov eax, dword [ebp - 0x50]
setne cl
xor ebx, ebx
cmp eax, ecx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
setle bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 8]
setge dl
imul eax, edx
sub ebx, eax
sub ebx, dword [ebp - 0x18]
cmp ebx, 2
sbb eax, eax
neg eax
mov dword [ebp - 0x118], eax
dec dword [ebp - 0x30]
dec dword [ebp - 0x10]
jns 0x42f92d
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x148]
call fcn.0042ed02
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffe5
je 0x42f7e9
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42f9f8
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RectVisible]
xor eax, eax
mov ecx, dword [edi]
mov dword [ebp - 8], 0x167f
mov dword [ebp - 0x18], 0x63ba20b9
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], ebx
xor ebx, ebx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
add edx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp edx, ecx
mov ecx, dword [ebp - 8]
setne bl
xor edx, edx
cmp ecx, ebx
setl dl
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x24], 0x90158db4
mov dword [ebp - 8], 0xfffffff2
jmp 0x42fa5f
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42fa5c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
xor eax, eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xc
jl 0x42fa4a
mov dword [ebp - 0x20], 0x68206240
mov dword [ebp - 0x24], eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42fa81
push eax
call dword [sym.imp.GDI32.dll_GetObjectType]
xor eax, eax
mov dword [ebp - 0x20], 0xffffffef
jmp 0x42fa99
mov dword [ebp - 0x24], 0x5e00fe1c
cmp dword [ebp - 0x24], eax
jne 0x42fa9f
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff5
jg 0x42fa8a
mov esi, dword [edi + 4]
lea ecx, [ebp - 0x130]
push 3
mov dword [ebp - 0x24], esi
call fcn.0042ec30
xor eax, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x20], eax
jmp 0x42fad3
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x130]
mov dword [ecx + edx*4], 0xff0ea75c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x42fac0
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42faea
push eax
call dword [sym.imp.USER32.dll_RegisterClassW]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x42fb08
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42fb02
push eax
push eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov ecx, dword [ebp - 0x10]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jle 0x42faef
lea ecx, [ebp - 0x130]
call fcn.0042ed02
xor ebx, ebx
lea ecx, [ebp - 0x9c]
inc ebx
mov dword [ebp - 8], ebx
push 2
call fcn.0042ec30
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x42fb41
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x48], 0xec2e0cf5
inc dword [ebp - 8]
cmp dword [ebp - 8], 3
jl 0x42fb33
mov dword [ebp - 8], eax
jmp 0x42fb5f
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x9c]
mov dword [ecx + edx*4], 0xe9829cbc
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x42fb4c
mov dword [ebp - 8], 2
cmp dword [ebp - 8], eax
jl 0x42fc4f
mov ecx, 0x808adc70
xor esi, esi
mov dword [ebp - 0x1c], 0x3f08700d
mov dword [ebp - 0x18], 0xcc19583e
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], ecx
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x48]
cmp dword [ebp - 8], eax
jne 0x42fbe3
cmp dword [ebp - 0x44], eax
jne 0x42fbc5
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp + ecx*4 - 0x48]
mov ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x1c], eax
je 0x42fbc5
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x9c]
mov dword [ecx + 4], 0x5257
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], 0x6728
mov ecx, eax
cmp dword [ebp - 0x18], eax
je 0x42fbe6
lea ecx, [esi + 1]
xor ebx, ebx
cmp ecx, 0xffffffff
mov ecx, dword [ebp - 8]
setle bl
xor edx, edx
cmp ebx, ecx
mov ecx, dword [ebp - 8]
setg dl
cmp edx, dword [ebp + ecx*4 - 0x48]
je 0x42fc0a
mov ecx, dword [ebp - 8]
cmp dword [ebp + ecx*4 - 0x48], eax
jne 0x42fc0d
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x48]
xor ebx, ebx
mov ecx, dword [ebp - 0x40]
cmp ecx, edx
mov ecx, dword [ebp - 8]
setne bl
xor edx, edx
cmp ebx, ecx
setle dl
xor ecx, ecx
add edx, 0x40a7fcc6
cmp edx, 0x8e65
setne cl
mov dword [ebp - 0x110], ecx
mov ecx, 0x808adc70
dec dword [ebp - 8]
jns 0x42fb7c
mov esi, dword [ebp - 0x24]
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 8], ebx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 8]
cmp eax, ecx
mov eax, dword [ebp - 0x9c]
lea ecx, [ebp - 0x9c]
setg dl
sub edx, 0xe188
mov dword [eax], edx
call fcn.0042ed02
test esi, esi
jne 0x42fd56
cmp byte [ebp - 0x29], 0
je 0x42fca5
cmp dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x30]
jne 0x42fca8
mov ecx, dword [ebp + 8]
lea eax, [ebx + 0x10]
add dword [ecx + 8], eax
jmp 0x42fca8
mov ebx, dword [ebp - 0x30]
mov eax, dword [edi + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + 0xc]
add edi, 0x10
push ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], edi
call fcn.00478a53
pop ecx
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x64]
lea eax, [ebp - 0x80]
xor esi, esi
push eax
push ebx
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
call fcn.0045d947
mov edi, dword [ebp - 0x64]
xor ecx, ecx
test ebx, ebx
jle 0x42fd2c
mov eax, esi
and eax, 0x80000001
jns 0x42fcf6
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x24]
add eax, esi
add eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x38]
jmp 0x42fd0b
lea eax, [edx + 1]
cdq
idiv ebx
cmp word [edi + edx*2], cx
jne 0x42fd08
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x18]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x34]
mov byte [esi + edx], al
inc esi
cmp esi, ebx
jl 0x42fce8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
mov dword [edx], ebx
mov dword [edx + 4], eax
test edi, edi
je 0x42fd5a
push edi
call fcn.00479f46
pop ecx
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov edi, dword [ebp + 8]
jmp 0x42fd5c
xor ecx, ecx
jmp 0x42fd5c
xor ecx, ecx
jmp 0x42fd4d
mov edi, edx
mov dword [ebp - 0x10], 0x398070a
xor esi, esi
push 0xfffffffffffffffc
pop ebx
mov dword [ebp - 8], ebx
inc esi
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
je 0x42fd89
dec dword [ebp - 8]
jmp 0x42fe4b
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 8], 0x10
cmp dword [ebp - 8], 0x1c
jg 0x42fe4b
movdqa xmm0, xmmword [0xa91660]
lea eax, [ebp - 0x15c]
mov dword [ebp + 8], ecx
push dword [ebp + 8]
mov dword [ebp - 0xa8], ecx
push eax
lea eax, [ebp - 0x16c]
mov dword [ebp - 0xa4], ecx
push eax
mov dword [ebp - 0xa0], ecx
push ecx
lea ecx, [ebp - 0xa8]
movdqu xmmword [ebp - 0x16c], xmm0
call fcn.0042ed73
mov eax, dword [ebp - 0x24]
mov dword [ebp + 8], eax
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x42fe2a
mov byte [ebp + 0xb], al
cmp byte [ebp + 0xb], 0
je 0x42fe13
push 0x85f
push eax
push 0x902
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
xor eax, eax
mov byte [ebp + 0xb], al
cmp byte [ebp + 0xb], 0
je 0x42fe27
push eax
push eax
push eax
call dword [sym.imp.OLEAUT32.dll_SysFreeString]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x42fdf0
lea ecx, [ebp - 0xa8]
call fcn.0042ed02
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x1c
push 0
pop ecx
jle 0x42fda1
mov dword [ebp - 8], ecx
jmp 0x42fee3
mov dword [ebp + 8], 8
xor edx, edx
mov eax, dword [ebp + 8]
imul eax, dword [ebp + 8]
cmp eax, ebx
setle dl
mov dword [ebp - 0x18], edx
xor edx, edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, 0x7509
setg dl
xor eax, eax
cmp edx, 0xbd18
setge al
cmp dword [ebp + 8], eax
jl 0x42fec2
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0x10]
je 0x42feaf
mov eax, dword [ebp - 8]
mov eax, dword [ebp + 8]
mov eax, esi
cmp dword [ebp - 0x18], ecx
jne 0x42feb1
mov eax, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
jmp 0x42fee0
mov byte [ebp + 0xb], cl
cmp byte [ebp + 0xb], 0
je 0x42fee0
push ecx
push ecx
push 0x23e9
push 0xe97
push ecx
call dword [sym.imp.USER32.dll_InsertMenuA]
xor ecx, ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
je 0x42fe53
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret