Function at 0x41d090
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47d235
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x4b41e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], eax
mov dword [edi + 0x2d8], ecx
test ecx, ecx
je 0x41d0f3
mov edx, dword [ecx + 0x1c0]
mov eax, dword [ecx + 0x230]
lea ecx, [edi + 0x78]
test edx, edx
je 0x41d0eb
mov dword [ecx + 0x1c0], edx
jmp 0x41d0f5
mov dword [ecx + 0x1c0], ecx
jmp 0x41d0f5
xor eax, eax
push ecx
push eax
push 0xffffffffffffffff
push SysReAllocString
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x5a
push 0x1c2
push 0x49eab8
lea ebx, [edi + 0x78]
mov dword [edi + 0x14], 0x46
push 0x49f3a4
mov ecx, ebx
call fcn.0040ea60
movsd xmm0, qword [0x4a9c30]
xor eax, eax
movsd qword [edi + 0x1e8], xmm0
mov dword [edi + 0x1f0], 0x190
mov byte [edi + 0x1f4], 1
mov byte [edi + 0x236], 0
nop
inc eax
cmp word [eax*2 + str.Arial], 0
jne 0x41d150
inc eax
push eax
push str.Arial
lea eax, [edi + 0x1f6]
push 0x20
push eax
call fcn.0046d113
mov eax, dword [edi + 0x28]
add esp, 0xc
mov dword [edi + 0x29c], eax
mov ecx, ebx
mov eax, dword [edi + 0x2a8]
mov dword [ebp - 0x3c], eax
push dword [edi + 0x30]
mov eax, dword [edi + 0x20]
push eax
push eax
push dword [edi + 0x1c]
push 0x5a
push 0x1c2
call fcn.0041a410
mov ecx, dword [edi + 0x2d8]
mov dword [ebp - 0x40], ecx
test ecx, ecx
je 0x41d1e3
xor esi, esi
lea ebx, [ecx + 0x50]
mov eax, dword [ebx]
test eax, eax
je 0x41d1cd
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41d1cd
inc esi
add ebx, 4
cmp esi, 0x30
jl 0x41d1b1
jmp 0x41d1e0
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ecx + esi*4 + 0x50], eax
inc esi
cmp esi, dword [ecx + 0x4c]
jle 0x41d1e0
mov dword [ecx + 0x4c], esi
lea ebx, [edi + 0x78]
sub esp, 8
mov dword [edi + 0x268], 0x1c00
mov eax, dword [edi + 0x14]
mov ecx, ebx
push eax
push eax
push 0xa
push 0xa
push 0
call fcn.004159d0
mov ecx, dword [edi + 0x28]
mov edx, eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x48], eax
mov eax, ecx
shr eax, 0x10
movzx esi, al
mov eax, ecx
or eax, 0xffffff00
mov dword [ebp - 0x3c], edx
shl eax, 0x10
and ecx, 0xff00
or esi, eax
mov dword [edi], edx
mov eax, dword [edi + 0x2c]
or esi, ecx
mov dword [ebp - 0x50], eax
mov eax, dword [sym.imp.USER32.dll_GetClientRect]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x40], eax
test ebx, ebx
je 0x41d39e
cmp edx, 1
jl 0x41d39e
mov eax, dword [edi + 0x50]
test eax, eax
je 0x41d294
cmp dword [edi + 0x34], 1
jl 0x41d294
mov ecx, dword [edi + 0x70]
mov dword [edi + 0x68], 1
mov dword [edi + 0x3c], 0
mov dword [edi + 0x38], 0
test ecx, ecx
je 0x41d294
mov edx, dword [eax + 0x230]
test edx, edx
je 0x41d291
mov eax, dword [ecx]
push 0
push edx
push ecx
call dword [eax + 0x28]
mov eax, dword [ebp - 0x3c]
jmp 0x41d296
mov edx, dword [ebp - 0x3c]
mov eax, edx
mov ecx, dword [ebx + 0x3c]
test ecx, ecx
je 0x41d2b2
cmp eax, dword [ebx + 0x40]
jg 0x41d2b2
lea eax, [eax + eax*8]
cmp dword [ecx + eax*8 + 0xc], 0
je 0x41d2b2
mov eax, dword [ecx + eax*8 + 4]
jmp 0x41d2b4
xor eax, eax
lea ecx, [ebp - 0x30]
push ecx
push eax
call dword [ebp - 0x40]
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
cmp dword [edi + 0x70], 0
mov dword [edi + 0x40], eax
jne 0x41d379
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0
push eax
push 0x47f6b0
push 1
push 0
push 0x47f6f0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x41d302
mov dword [ebp - 4], 1
jmp 0x41d365
mov dword [ebp - 0x38], 0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push edx
push 0x47f6c0
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x41d33c
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x41d333
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 4
jmp 0x41d365
mov eax, dword [ebp - 0x38]
lea edx, [edi + 0x70]
push edx
push 0x47f6d0
push eax
mov ecx, dword [eax]
call dword [ecx]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x41d35e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x41d372
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3c]
lea ecx, [edi + 0x34]
mov dword [edi + 0x34], eax
mov eax, dword [ebp - 0x48]
mov dword [edi + 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [edi + 0x48], eax
mov eax, dword [ebp - 0x50]
push 0
mov dword [edi + 0x50], ebx
mov dword [edi + 0x44], eax
call fcn.0041cb90
mov ecx, ebx
call fcn.0041a8f0
test al, al
jne 0x41d3ad
xor edx, edx
jmp 0x41d429
mov eax, dword [ebx + 0x40]
mov ecx, 0x50000100
push 0
push dword [ebx + 0x11c]
inc eax
cmp byte [ebx + 0x248], 0
push eax
push dword [ebx + 0x234]
mov eax, 0x50020100
push 0x14
push 0x1c2
push 0
push 0
cmove eax, ecx
push eax
push 0
push 0x49f194
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
jne 0x41d3f7
xor edx, edx
jmp 0x41d429
push eax
push 0xd
mov ecx, ebx
call fcn.0041a6e0
mov edx, eax
mov eax, dword [ebx + 0x3c]
lea ecx, [edx + edx*8]
mov dword [eax + ecx*8 + 0x24], 0
mov dword [eax + ecx*8 + 0x28], 0
mov dword [eax + ecx*8 + 0x2c], 0x1c2
mov dword [eax + ecx*8 + 0x30], 0x14
push 0xfffffffffffffffe
push 0xffffffffffffffff
mov ecx, ebx
mov dword [edi + 0x10], edx
call fcn.00416e00
sub esp, 8
mov dword [edi + 0x268], 0xc00
mov ecx, dword [edi + 0x14]
mov eax, 0x1a4
sub eax, ecx
push ecx
push eax
push ecx
lea eax, [ecx + 0x14]
push eax
push ecx
mov ecx, ebx
call fcn.00415200
mov ecx, dword [edi + 0x20]
mov dword [edi + 4], eax
mov eax, ecx
shr eax, 0x10
movzx edx, al
movzx eax, cl
and ecx, 0xff00
shl eax, 0x10
or edx, eax
or edx, ecx
mov ecx, ebx
push edx
push 0xffffffffffffffff
call fcn.00416e00
mov ebx, dword [edi + 0x2a8]
test ebx, ebx
je 0x41d5af
mov eax, dword [edi + 4]
test eax, eax
je 0x41d4e2
cmp eax, 0xffffffff
jne 0x41d4a5
mov eax, dword [edi + 0xb8]
mov ebx, dword [edi + 0xb4]
test ebx, ebx
je 0x41d5af
cmp eax, 1
jl 0x41d5af
cmp eax, dword [edi + 0xb8]
jg 0x41d5af
lea eax, [eax + eax*8]
cmp dword [ebx + eax*8 + 0xc], 0
je 0x41d5af
mov ebx, dword [ebx + eax*8 + 4]
test ebx, ebx
je 0x41d5af
lea eax, [ebp - 0x20]
push eax
push ebx
call dword [ebp - 0x40]
test eax, eax
je 0x41d5af
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0xb
push ebx
call esi
lea eax, [ebp - 0x20]
push eax
push 0
push 0xb3
push ebx
call esi
push dword [ebp - 0x44]
push 0
push 0xc
push ebx
call esi
push 0
push 0
push 0xba
push ebx
call esi
mov ecx, eax
mov dword [ebp - 0x44], ecx
cmp ecx, 1
jle 0x41d569
push 0
push 0
push 0xd6
push ebx
call esi
push 0
push 1
push 0xbb
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push eax
push 0xd6
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x44]
shr eax, 0x10
shr esi, 0x10
sub eax, esi
jmp 0x41d56e
mov eax, 0xe
imul ecx, eax
mov eax, dword [ebp - 0x14]
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
lea eax, [ebp - 0x20]
push eax
push 0
push 0xb2
push ebx
sar esi, 1
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 0
push 0xb3
push ebx
call esi
push 0
push 1
push 0xb
push ebx
call esi
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00469e65
mov esp, ebp
pop ebp
ret 0x18