Function at 0x4212d0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4e189d
push eax
mov dword fs:[0], esp
sub esp, 0x10
push esi
push edi
mov edi, ecx
mov ecx, 0x513a38
call fcn.004ba18d
mov eax, dword [ebp + 8]
cmp eax, 0x465
ja 0x4213cd
je 0x4213b2
cmp eax, 0x113
jne case.0x4213db.1128
cmp dword [ebp + 0xc], 0x514
jne case.0x4213db.1128
mov ecx, dword [edi + 0x7c4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x58]
call eax
mov ecx, dword [edi + 0x7a0]
movups xmm0, xmmword [eax]
lea eax, [ecx + 0x53]
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x2f
jge 0x421353
mov dword [ebp - 0x1c], 0x2f
jmp 0x421361
cmp ecx, 0x20c
mov edx, 0x25f
cmovg eax, edx
mov ecx, dword [edi + 0x7c4]
push 1
mov dword [ebp - 0x14], eax
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x1c]
mov edx, dword [ecx]
mov eax, esp
movups xmmword [eax], xmm0
call dword [edx + 0x5c]
add dword [edi + 0x7a0], 4
cmp dword [edi + 0x7a0], 0x25f
jl case.0x4213db.1128
mov dword [edi + 0x7a0], 0xffffffdc
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov ecx, edi
call fcn.00422d70
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
add eax, 0xfffffb9a
cmp eax, 7
ja case.0x4213db.1128
jmp dword [eax*4 + 0x421600]
push 1
mov ecx, edi
call fcn.004337d0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov byte [edi + 0x7a4], 1
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
cmp dword [ebp + 0xc], 0
mov ecx, edi
push 1
je 0x42143f
push 1
call fcn.004340b0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 0
call fcn.004340b0
mov ecx, dword [edi + 0x7cc]
test ecx, ecx
je case.0x4213db.1128
push 0
call fcn.004259c0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [ebp + 0x10]
call fcn.00420a80
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], 0
lea esi, [eax + eax]
push esi
lea eax, [ebp + 0x10]
push 0x4e8630
push eax
call fcn.004053d0
mov ecx, dword [edi + 0x7c0]
add esp, 0xc
push esi
call fcn.0043e070
lea ecx, [ebp + 0x10]
jmp 0x4215d2
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x4214c3
mov dword [edi + 0x7a0], 0xffffffdc
mov ecx, dword [edi + 0x7c4]
test eax, eax
setne al
movzx eax, al
mov edx, dword [ecx]
push eax
call dword [edx + 0x104]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
cmp byte [edi + 0x772], 0
je case.0x4213db.1128
push 1
mov ecx, edi
call fcn.004337d0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
call fcn.00405850
mov ecx, eax
test ecx, ecx
je 0x4215eb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp + 0xc], eax
mov esi, dword [ebp + 0x10]
lea ecx, [ebp + 0xc]
push esi
mov dword [ebp - 4], 1
call fcn.00404870
test al, al
jne 0x4215b9
test esi, esi
je 0x4215b1
push 0
push 0
push 0xffffffffffffffff
push esi
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edx, [eax - 1]
mov dword [ebp + 8], edx
test edx, edx
jle 0x4215b1
mov esi, dword [ebp + 0xc]
mov ecx, 1
mov eax, dword [esi - 8]
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x42158d
push edx
lea ecx, [ebp + 0xc]
call fcn.00406130
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push edx
push esi
push 0xffffffffffffffff
push dword [ebp + 0x10]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp + 8]
cmp eax, dword [esi - 8]
jg 0x4215f5
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
jmp 0x4215bc
lea ecx, [ebp + 0xc]
call fcn.004051c0
mov esi, dword [ebp + 0xc]
mov ecx, dword [edi + 0x7c8]
push esi
mov dword [ebp - 4], 2
mov eax, dword [ecx]
call dword [eax + 0x2c]
lea ecx, [ebp + 0xc]
call fcn.00403f90
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00404840
push 0x80070057
call fcn.00404840
nop
jbe 0x421616
inc edx
add dh, ch
adc al, 0x42
add bh, dl
adc eax, 0x15180042
inc edx
add byte [ecx + 0x1a004214], dh
adc al, 0x42
inc edx
add dl, ah
adc eax, dword [edx]
call dword [ebx]
inc edx
add byte [ecx + 0x5139d8], bh
mov ecx, 0x5139d8
jmp fcn.004ba18d