Function at 0x452030
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x5b00cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor ebx, ebx
cmp byte [0x5f5448], bl
mov edi, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], edi
jne 0x452171
push str.Gdiplus.dll
mov byte [0x5f5448], 1
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov esi, eax
cmp esi, ebx
je 0x452147
mov edi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push str.GdiplusStartup
push esi
call edi
push str.GdipSaveImageToFile
push esi
mov dword [0x5f544c], eax
call edi
push str.GdipGetImageEncodersSize
push esi
mov dword [0x5f5450], eax
call edi
push str.GdipGetImageEncoders
push esi
mov dword [0x5f4994], eax
call edi
push str.GdipDisposeImage
push esi
mov dword [0x5f4998], eax
call edi
push str.GdipCreateBitmapFromScan0
push esi
mov dword [0x5f5454], eax
call edi
push str.GdipCreateBitmapFromGdiDib
push esi
mov dword [0x5f5458], eax
call edi
push str.GdipCreateBitmapFromHBITMAP
push esi
mov dword [0x5f545c], eax
call edi
cmp dword [0x5f544c], ebx
mov dword [0x5f5460], eax
je 0x45212e
cmp dword [0x5f5454], ebx
je 0x45212e
cmp dword [0x5f5450], ebx
je 0x45212e
cmp dword [0x5f4994], ebx
je 0x45212e
cmp dword [0x5f4998], ebx
je 0x45212e
cmp dword [0x5f5458], ebx
je 0x45212e
cmp dword [0x5f545c], ebx
je 0x45212e
cmp eax, ebx
je 0x45212e
mov edi, dword [ebp - 0x28]
mov byte [0x5f5449], 1
jmp 0x45214f
mov byte [0x5f5449], bl
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00566120
mov esp, ebp
pop ebp
ret
cmp byte [0x5f5449], bl
je 0x4521b0
push ebx
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x18]
push edx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x38], 1
call dword [0x5f544c]
cmp byte [0x5f5449], bl
je 0x4521b0
mov ecx, dword [edi + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 7
lea edx, [ebp - 0x48]
push edx
call eax
test al, al
je 0x4521b0
mov edx, dword [ebp - 0x44]
lea ecx, [ebp - 0x20]
push ecx
push ebx
push edx
mov dword [ebp - 0x20], ebx
call dword [0x5f5460]
mov ecx, dword [ebp - 0x20]
cmp ecx, ebx
jne 0x4521c3
mov ecx, dword [edi + 0x20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp eax, 0x97
mov dword [ebp - 0x1c], ebx
jg 0x4521f5
je 0x4521ee
cmp eax, 0x96
ja case.0x4521e0.1
movzx eax, byte [eax + 0x452354]
jmp dword [eax*4 + 0x452348]
mov eax, str.image_png
jmp 0x45223d
mov eax, str.image_jpeg
jmp 0x45223d
sub eax, 0x15e
je case.0x4521e0.0
sub eax, 0x34
je 0x452231
sub eax, 1
je 0x45222a
push ecx
call dword [0x5f5454]
mov ecx, dword [edi + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00566120
mov esp, ebp
pop ebp
ret
mov eax, str.image_tiff
jmp 0x45223d
mov eax, str.image_gif
jmp 0x45223d
mov eax, str.image_bmp
lea ebx, [ebp - 0x18]
call fcn.00401ed0
lea edi, [ebp - 0x1c]
call fcn.004abdf0
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x452259
call fcn.004ab850
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x1c]
call fcn.004abc10
call fcn.004abdb0
push eax
call fcn.00451f40
mov esi, dword [ebp - 0x18]
add esp, 8
cmp eax, 0xffffffff
sete bl
test esi, esi
je 0x452289
call fcn.004ab850
test bl, bl
je 0x4522c3
mov eax, dword [ebp - 0x20]
push eax
call dword [0x5f5454]
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x4522b0
call fcn.004ab850
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00566120
mov esp, ebp
pop ebp
ret
push 0
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
lea edx, [ebp - 0x24]
push edx
lea edx, [ebp - 0x18]
push edx
call eax
call fcn.004abc10
call fcn.004abdb0
mov ecx, dword [ebp - 0x20]
push eax
push ecx
call dword [0x5f5450]
mov esi, dword [ebp - 0x24]
test esi, esi
mov edi, eax
je 0x4522fe
call fcn.004ab850
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x45230a
call fcn.004ab850
mov edx, dword [ebp - 0x20]
push edx
call dword [0x5f5454]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov esi, dword [ebp - 0x1c]
test edi, edi
sete bl
test esi, esi
je 0x452332
call fcn.004ab850
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov al, bl
xor ecx, ebp
pop ebx
call fcn.00566120
mov esp, ebp
pop ebp
ret