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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
push ebx
push esi
push edi
mov esi, ecx
call fcn.0042bb70
mov ecx, dword [esi + 0x3c]
mov dword [esi + 8], eax
test ecx, ecx
je 0x4ebf1c
mov eax, dword [ecx]
mov eax, dword [eax + 0x1b8]
call eax
test al, al
je 0x4ebf1c
push ecx
mov ecx, dword [esi + 0x44]
push 4
call fcn.004ecc80
mov dl, al
mov ecx, 0x7735d668
call fcn.00446410
mov ecx, dword [esi + 0x44]
push 8
mov dword [esp + 0x48], eax
mov dword [esi + 0x5c], eax
call fcn.004ecc80
mov dl, al
mov ecx, 0x7735d280
call fcn.00446410
mov ecx, dword [esi + 0x44]
mov edi, eax
push 0x20
mov dword [esi + 0x58], edi
call fcn.004ecc80
mov dl, al
mov ecx, 0x7735cab0
call fcn.00446410
mov ecx, dword [esi + 0x44]
push 0x10
mov dword [esp + 0x4c], eax
mov dword [esi + 0x54], eax
call fcn.004eccd0
mov dl, al
mov ecx, str.16_x_16
call fcn.00446390
mov ecx, dword [esi + 0x44]
push 0x40
mov dword [esp + 0x40], eax
mov dword [esi + 0x80], eax
call fcn.004eccd0
mov dl, al
mov ecx, str.64_x_64
call fcn.00446390
mov ecx, dword [esi + 0x44]
push 0x18
mov dword [esp + 0x44], eax
mov dword [esi + 0x70], eax
call fcn.004eccd0
mov dl, al
mov ecx, str.24_x_24
call fcn.00446390
mov ecx, dword [esi + 0x44]
push 0x50
mov dword [esp + 0x54], eax
mov dword [esi + 0x7c], eax
call fcn.004eccd0
mov dl, al
mov ecx, str.80_x_80
call fcn.00446390
mov ecx, dword [esi + 0x44]
push 0x20
mov dword [esp + 0x50], eax
mov dword [esi + 0x6c], eax
call fcn.004eccd0
mov dl, al
mov ecx, str.32_x_32
call fcn.00446390
mov ecx, dword [esi + 0x44]
push 0x60
mov dword [esp + 0x5c], eax
mov dword [esi + 0x78], eax
call fcn.004eccd0
mov dl, al
mov ecx, str.96_x_96
call fcn.00446390
mov ecx, dword [esi + 0x44]
push 0x30
mov dword [esp + 0x58], eax
mov dword [esi + 0x68], eax
call fcn.004eccd0
mov dl, al
mov ecx, str.48_x_48
call fcn.00446390
mov dword [esp + 0x60], eax
mov dword [esi + 0x74], eax
mov ecx, dword [esi + 0x44]
push 0x80
call fcn.004eccd0
mov dl, al
mov ecx, 0x5d462c
call fcn.00446390
mov ecx, dword [esi + 0x44]
push 0x100
mov dword [esp + 0x60], eax
mov dword [esi + 0x64], eax
call fcn.004eccd0
mov dl, al
mov ecx, str.256_x_256___Vista_7_
call fcn.00446390
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x60], eax
mov dword [esp + 0x64], eax
mov dl, byte [ecx + 0x24]
mov ecx, 0x7735bef8
call fcn.00446410
mov edx, dword [esi + 8]
movsd xmm0, qword [0x5d4e28]
push ecx
movsd qword [esp], xmm0
lea ecx, [edx + edx*2]
mov dword [esp + 0x6c], eax
push ecx
lea ecx, [edx + edx*4]
mov dword [esi + 0x50], eax
shl ecx, 2
lea eax, [edx + edx*4]
push ecx
push eax
lea eax, [edx + edx*4]
add eax, eax
push eax
push 1
push ecx
mov ecx, 0x7735c6c8
call fcn.00447ef0
mov ebx, eax
add esp, 0x20
mov eax, dword [esp + 0x44]
mov dword [esp + 0x68], ebx
test eax, eax
je 0x4eb97d
mov edx, dword [ebx]
mov ecx, ebx
push eax
call dword [edx + 0xc8]
test edi, edi
je 0x4eb98c
mov eax, dword [ebx]
mov ecx, ebx
push edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x4eb99f
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x40], eax
call fcn.0043e200
mov edi, eax
lea ebx, [edi + 0x1c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [eax + 0x20], 0
jbe 0x4eb9de
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x48], edi
call ebx
jmp 0x4eb9eb
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov dword [esp + 0x44], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x40]
test ecx, ecx
jle 0x4eba1c
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4eba2f
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4eba42
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x38], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x40], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4eba83
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x3c]
push eax
mov dword [esp + 0x44], edi
call ebx
jmp 0x4eba94
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov dword [esp + 0x40], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x4ebac5
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ebad8
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x4ebaeb
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x48], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x50], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ebb2c
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x4c]
push eax
mov dword [esp + 0x40], edi
call ebx
jmp 0x4ebb3d
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov dword [esp + 0x3c], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x48]
test ecx, ecx
jle 0x4ebb6e
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x4ebb81
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x4ebb94
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x50], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x58], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ebbd5
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x54]
push eax
mov dword [esp + 0x3c], edi
call ebx
jmp 0x4ebbe6
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov dword [esp + 0x38], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x50]
test ecx, ecx
jle 0x4ebc17
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x4ebc2a
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ebc3d
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea ecx, [eax + eax*2]
lea eax, [eax + eax*4]
mov dword [esp + 0x54], ecx
shl eax, 2
mov dword [esp + 0x58], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x60], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ebc84
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x5c]
push eax
call ebx
jmp 0x4ebc91
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x150]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x58]
test ecx, ecx
jle 0x4ebcc2
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x110]
mov ecx, dword [esp + 0x54]
test ecx, ecx
jle 0x4ebcd5
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x38]
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x3c]
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x40]
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x44]
call dword [eax + 0xc8]
call fcn.0043e200
mov dword [esp + 0x44], eax
add eax, 0x1c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ebd49
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x38], eax
lea eax, [edx + 0x1c]
push eax
call ebx
mov eax, dword [esp + 0x38]
jmp 0x4ebd5c
lea eax, [edx + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [esp + 0x38], eax
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x154]
mov eax, dword [esp + 0x38]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x140]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x134]
mov edx, dword [esp + 0x60]
test edx, edx
je 0x4ebd95
mov ecx, dword [esp + 0x38]
push edx
mov eax, dword [ecx]
call dword [eax + 0xc8]
mov ecx, dword [esi + 8]
sub esp, 8
movsd xmm0, qword [0x5d4e28]
movsd qword [esp], xmm0
lea eax, [ecx + ecx*2]
push eax
lea eax, [ecx + ecx*4]
shl eax, 2
push eax
lea eax, [ecx + ecx*2]
add eax, eax
push eax
lea eax, [ecx + ecx*4]
add eax, eax
push eax
push 1
push ecx
mov ecx, 0x7735c2e0
call fcn.00447ef0
add esp, 0x20
mov dword [esp + 0x44], eax
mov ecx, eax
mov edx, dword [eax]
push dword [esp + 0x38]
call dword [edx + 0xc8]
mov eax, dword [esp + 0x44]
mov ecx, eax
push edi
mov edx, dword [eax]
call dword [edx + 0xc8]
mov ecx, dword [esi + 8]
sub esp, 8
movsd xmm0, qword [0x5d4e28]
movsd qword [esp], xmm0
lea eax, [ecx + ecx*2]
push eax
lea eax, [ecx + ecx*4]
shl eax, 2
push eax
lea eax, [ecx + ecx*4]
push eax
lea eax, [ecx + ecx*4]
add eax, eax
push eax
push 1
push ecx
mov ecx, 0x7735bb10
call fcn.00447ef0
mov ecx, dword [esp + 0x84]
add esp, 0x20
mov dword [esp + 0x5c], eax
test ecx, ecx
je 0x4ebe42
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x60], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x68], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ebe81
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x64]
push eax
call ebx
jmp 0x4ebe8e
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
push 1
push 0x64
call dword [edx + 0x164]
mov eax, dword [edi]
mov ecx, edi
push 1
push 0x64
call dword [eax + 0x168]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x60]
test ecx, ecx
jle 0x4ebedb
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esi + 0x4c]
call fcn.004e2350
test eax, eax
je 0x4ebef2
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0xc8]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ebf05
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x44]
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x68]
jmp 0x4ec92f
mov eax, dword [esi + 0x44]
xor edi, edi
mov dword [esp + 0x68], eax
lea ebx, [eax + 0x54]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
test eax, eax
je 0x4ebf50
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x70]
cmp dword [eax + edi*4], 4
je 0x4ec3a2
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ebf33
xor dl, dl
push ecx
mov ecx, str.4_Bpp__16_Colors_with_Mask_Bits_
call fcn.00446390
mov dword [esi + 0x5c], eax
add esp, 4
mov dword [esp + 0x5c], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x54]
lea ebx, [eax + 0x54]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ebf9d
nop
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x70]
cmp dword [eax + edi*4], 8
je 0x4ec3a9
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ebf80
xor dl, dl
push ecx
mov ecx, str.8_Bpp__256_Colors_with_Mask_Bits_
call fcn.00446390
mov dword [esi + 0x58], eax
add esp, 4
mov dword [esp + 0x60], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x54]
lea ebx, [eax + 0x54]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ebfed
nop dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x70]
cmp dword [eax + edi*4], 0x20
je 0x4ec3b0
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ebfd0
xor dl, dl
push ecx
mov ecx, str.32_Bpp__16_777_216_Colors_with_Transparency_
call fcn.00446390
mov dword [esi + 0x54], eax
add esp, 4
mov dword [esp + 0x64], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec03d
nop dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x10
je 0x4ec3b7
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec020
xor dl, dl
push ecx
mov ecx, str.16_x_16
call fcn.00446390
mov dword [esi + 0x80], eax
add esp, 4
mov dword [esp + 0x54], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec08d
nop
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x40
je 0x4ec3be
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec070
xor dl, dl
push ecx
mov ecx, str.64_x_64
call fcn.00446390
mov dword [esi + 0x70], eax
add esp, 4
mov dword [esp + 0x58], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec0dd
nop dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x18
je 0x4ec3c5
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec0c0
xor dl, dl
push ecx
mov ecx, str.24_x_24
call fcn.00446390
mov dword [esi + 0x7c], eax
add esp, 4
mov dword [esp + 0x4c], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec12d
nop dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x50
je 0x4ec3cc
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec110
xor dl, dl
push ecx
mov ecx, str.80_x_80
call fcn.00446390
mov dword [esi + 0x6c], eax
add esp, 4
mov dword [esp + 0x50], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec17d
nop dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x20
je 0x4ec3d3
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec160
xor dl, dl
push ecx
mov ecx, str.32_x_32
call fcn.00446390
mov dword [esi + 0x78], eax
add esp, 4
mov dword [esp + 0x44], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec1cd
nop dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x60
je 0x4ec3da
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec1b0
xor dl, dl
push ecx
mov ecx, str.96_x_96
call fcn.00446390
mov dword [esi + 0x68], eax
add esp, 4
mov dword [esp + 0x48], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec21d
nop dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x30
je 0x4ec3e1
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec200
xor dl, dl
push ecx
mov ecx, str.48_x_48
call fcn.00446390
mov dword [esi + 0x74], eax
add esp, 4
mov dword [esp + 0x70], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec270
nop dword [eax]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x80
je 0x4ec3e8
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec250
xor dl, dl
push ecx
mov ecx, 0x5d462c
call fcn.00446390
mov dword [esi + 0x64], eax
add esp, 4
mov dword [esp + 0x6c], eax
xor edi, edi
mov eax, dword [esi + 0x44]
mov edx, dword [eax + 0x28]
lea ebx, [eax + 0x28]
mov ecx, ebx
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
test eax, eax
je 0x4ec2c0
nop
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x44]
cmp dword [eax + edi*4], 0x100
je 0x4ec3ef
mov eax, dword [ebx]
mov ecx, ebx
inc edi
call dword [eax + 0x30]
cmp edi, eax
jb 0x4ec2a0
xor dl, dl
push ecx
mov ecx, str.256_x_256___Vista_7_
call fcn.00446390
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x60], eax
mov dword [esp + 0x78], eax
mov dl, byte [ecx + 0x24]
mov ecx, str.Keep_Width_Height_Ratio
call fcn.00446390
mov edx, dword [esi + 8]
movsd xmm0, qword [0x5d4e28]
push ecx
movsd qword [esp], xmm0
lea ecx, [edx + edx*2]
mov dword [esp + 0x80], eax
push ecx
lea ecx, [edx + edx*4]
mov dword [esi + 0x50], eax
shl ecx, 2
lea eax, [edx + edx*4]
push ecx
push eax
lea eax, [edx + edx*4]
add eax, eax
push eax
push 1
push ecx
mov ecx, str.Resolutions_to_Include
call fcn.00447e30
mov ebx, eax
add esp, 0x20
mov eax, dword [esp + 0x64]
mov dword [esp + 0x7c], ebx
test eax, eax
je 0x4ec33d
mov edx, dword [ebx]
mov ecx, ebx
push eax
call dword [edx + 0xc8]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x4ec350
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x4ec363
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x68], eax
call fcn.0043e200
mov edi, eax
lea ebx, [edi + 0x1c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [eax + 0x20], 0
jbe 0x4ec3f6
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x3c], edi
call ebx
jmp 0x4ec403
mov dl, 1
jmp 0x4ebf52
mov dl, 1
jmp 0x4ebf9f
mov dl, 1
jmp 0x4ebfef
mov dl, 1
jmp 0x4ec03f
mov dl, 1
jmp 0x4ec08f
mov dl, 1
jmp 0x4ec0df
mov dl, 1
jmp 0x4ec12f
mov dl, 1
jmp 0x4ec17f
mov dl, 1
jmp 0x4ec1cf
mov dl, 1
jmp 0x4ec21f
mov dl, 1
jmp 0x4ec272
mov dl, 1
jmp 0x4ec2c2
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov dword [esp + 0x38], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x68]
test ecx, ecx
jle 0x4ec434
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x4ec447
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x4ec45a
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x64], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x6c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ec49b
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x68]
push eax
mov dword [esp + 0x40], edi
call ebx
jmp 0x4ec4ac
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov dword [esp + 0x3c], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x64]
test ecx, ecx
jle 0x4ec4dd
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x4ec4f0
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x4ec503
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x64], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x6c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ec544
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x68]
push eax
mov dword [esp + 0x44], edi
call ebx
jmp 0x4ec555
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov dword [esp + 0x40], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x64]
test ecx, ecx
jle 0x4ec586
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4ec599
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x4ec5ac
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
mov dword [esp + 0x64], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x6c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ec5ed
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x68]
push eax
mov dword [esp + 0x48], edi
call ebx
jmp 0x4ec5fe
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov dword [esp + 0x44], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x64]
test ecx, ecx
jle 0x4ec62f
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x4ec642
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x4ec655
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 8]
lea ecx, [eax + eax*2]
lea eax, [eax + eax*4]
mov dword [esp + 0x68], ecx
shl eax, 2
mov dword [esp + 0x6c], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x74], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ec69c
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x70]
push eax
call ebx
jmp 0x4ec6a9
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x150]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jle 0x4ec6da
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x110]
mov ecx, dword [esp + 0x68]
test ecx, ecx
jle 0x4ec6ed
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x44]
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x40]
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x3c]
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x38]
call dword [eax + 0xc8]
call fcn.0043e200
mov dword [esp + 0x44], eax
add eax, 0x1c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ec761
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x38], eax
lea eax, [edx + 0x1c]
push eax
call ebx
mov eax, dword [esp + 0x38]
jmp 0x4ec774
lea eax, [edx + 0x1c]
push eax
call ebx
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0x3c]
call eax
mov dword [esp + 0x38], eax
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x154]
mov eax, dword [esp + 0x38]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x140]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x134]
mov edx, dword [esp + 0x74]
test edx, edx
je 0x4ec7ad
mov ecx, dword [esp + 0x38]
push edx
mov eax, dword [ecx]
call dword [eax + 0xc8]
mov ecx, dword [esi + 8]
sub esp, 8
movsd xmm0, qword [0x5d4e28]
movsd qword [esp], xmm0
lea eax, [ecx + ecx*2]
push eax
lea eax, [ecx + ecx*4]
shl eax, 2
push eax
lea eax, [ecx + ecx*2]
add eax, eax
push eax
lea eax, [ecx + ecx*4]
add eax, eax
push eax
push 1
push ecx
mov ecx, str.Sizes_to_Include
call fcn.00447e30
add esp, 0x20
mov dword [esp + 0x44], eax
mov ecx, eax
mov edx, dword [eax]
push dword [esp + 0x38]
call dword [edx + 0xc8]
mov eax, dword [esp + 0x44]
mov ecx, eax
push edi
mov edx, dword [eax]
call dword [edx + 0xc8]
mov ecx, dword [esi + 8]
sub esp, 8
movsd xmm0, qword [0x5d4e28]
movsd qword [esp], xmm0
lea eax, [ecx + ecx*2]
push eax
lea eax, [ecx + ecx*4]
shl eax, 2
push eax
lea eax, [ecx + ecx*4]
push eax
lea eax, [ecx + ecx*4]
add eax, eax
push eax
push 1
push ecx
mov ecx, str.Scaling
call fcn.00447e30
mov ecx, dword [esp + 0x98]
add esp, 0x20
mov dword [esp + 0x70], eax
test ecx, ecx
je 0x4ec85a
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0xc8]
mov eax, dword [esi + 8]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x74], eax
call fcn.0043e200
mov edi, eax
lea eax, [edi + 0x1c]
push eax
mov dword [esp + 0x7c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x34]
cmp dword [eax + 0x20], 0
jbe 0x4ec899
dec dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x78]
push eax
call ebx
jmp 0x4ec8a6
lea eax, [edi + 0x1c]
push eax
call ebx
mov eax, dword [edi + 0x3c]
call eax
mov edi, eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x154]
mov edx, dword [edi]
mov ecx, edi
push 1
push 0x64
call dword [edx + 0x164]
mov eax, dword [edi]
mov ecx, edi
push 1
push 0x64
call dword [eax + 0x168]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x140]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x134]
mov ecx, dword [esp + 0x74]
test ecx, ecx
jle 0x4ec8f3
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x114]
mov ecx, dword [esi + 0x4c]
call fcn.004e2350
test eax, eax
je 0x4ec90a
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx + 0xc8]
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x4ec91d
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [edi]
mov ecx, edi
push dword [esp + 0x44]
call dword [eax + 0xc8]
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x4ec93e
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0xc8]
mov eax, dword [esi + 0x44]
mov dword [esi + 0x40], edi
mov edi, dword [esi + 0x4c]
mov bl, byte [eax + 0x14]
mov byte [esp + 0x7c], bl
mov ecx, dword [edi + 0x4c]
mov byte [edi + 0x54], bl
test ecx, ecx
je 0x4ec97f
mov eax, dword [ecx]
push 1
push dword [esp + 0x80]
call dword [eax + 0x178]
mov ecx, dword [edi + 0x50]
test bl, bl
push 1
sete al
movzx eax, al
mov edx, dword [ecx]
push eax
call dword [edx + 0x178]
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + 0x18]
shl ecx, 8
or ecx, dword [eax + 0x1c]
shl ecx, 8
or ecx, dword [eax + 0x20]
movzx eax, cl
push eax
mov eax, ecx
shr ecx, 0x10
shr eax, 8
movzx eax, al
push eax
push ecx
mov ecx, dword [esi + 0x4c]
mov ecx, dword [ecx + 0x10]
call fcn.004e21d0
mov eax, dword [esi + 0x40]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret