Function at 0x4abc80
Capabilities:
Create thread
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x62a6b8
mov eax, dword fs:[0]
push eax
mov eax, 0x1524
call fcn.00531990
mov eax, dword [0x6e4770]
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 dword [ebp - 0x14d4], ecx
cmp dword [ecx + 0x87c], 0
je 0x4ac319
push 1
lea edi, [ecx + 0x824]
mov dword [ebp - 0x14d0], 0x5c
push 0xffffffffffffffff
lea eax, [ebp - 0x14d0]
mov ecx, edi
push eax
call fcn.00476c80
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4ac319
push ebx
push 0
lea eax, [ebp - 0x14c8]
mov ecx, edi
push eax
call fcn.00476d40
push 1
push 0xffffffffffffffff
lea eax, [ebp - 0x14d0]
mov dword [ebp - 4], 0
push eax
mov ecx, edi
mov dword [ebp - 0x14d0], 0x2e
call fcn.00476c80
mov esi, eax
lea eax, [ebp - 0x14b0]
push 0xffffffffffffffff
lea ecx, [esi + 1]
push ecx
push eax
mov ecx, edi
call fcn.00476d40
sub esi, ebx
mov byte [ebp - 4], 1
dec esi
lea eax, [ebx + 1]
push esi
push eax
lea eax, [ebp - 0x1498]
mov ecx, edi
push eax
call fcn.00476d40
xor eax, eax
mov dword [ebp - 0x1454], 7
mov dword [ebp - 0x1458], 0
mov word [ebp - 0x1468], ax
cmp dword [edi + 0x14], 8
mov byte [ebp - 4], 3
jb 0x4abd7f
mov edi, dword [edi]
push edi
call dword [sym.imp.FreeImagePlus.dll_public:_static_enum_FREE_IMAGE_FORMAT___cdecl_fipImage::identifyFIFU_wchar_t_const__]
push eax
call dword [sym.imp.FreeImagePlus.dll_public:_static_int___cdecl_fipImage::identifyFIFSupportsWriting_enum_FREE_IMAGE_FORMAT_]
sub esp, 0x10
mov ebx, eax
mov ecx, esp
mov dword [ebp - 0x14d8], esp
mov dword [ebp - 0x14d0], ebx
push 0x645948
call fcn.0046e770
lea eax, [ebp - 0x1480]
mov byte [ebp - 4], 4
push eax
call fcn.00478560
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0049cfd0
xor eax, eax
mov dword [ebp - 0x1424], 7
mov dword [ebp - 0x1428], 0
mov word [ebp - 0x1438], ax
mov dword [ebp - 0x14cc], eax
lea eax, [ebp - 0x14cc]
push eax
mov byte [ebp - 4], 6
call dword [sym.imp.ImageDraw.dll_public:_static_bool___cdecl_CImageUtils::GetCanRescaleSaveSupportType_class_std::vector_struct_ExtensionInfo___class_std::allocator_struct_ExtensionInfo______]
add esp, 4
test al, al
je 0x4ac1fe
mov ecx, dword [ebp - 0x14cc]
xor edi, edi
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
sar eax, 2
test eax, eax
je 0x4abfea
lea esp, [esp]
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, esi
sar eax, 2
cmp eax, edi
jbe 0x4ac07c
mov esi, dword [esi + edi*4]
test esi, esi
je 0x4abfd3
push 0xffffffffffffffff
push 0
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x1438]
call fcn.004701a0
push 1
push 0x6461e0
lea ecx, [ebp - 0x1438]
call fcn.00470270
push 0xffffffffffffffff
push 0
lea eax, [esi + 0x1c]
push eax
lea ecx, [ebp - 0x1438]
call fcn.004701a0
cmp dword [ebp - 0x146c], 8
lea edx, [ebp - 0x1480]
cmovae edx, dword [ebp - 0x1480]
cmp word [edx], 0
jne 0x4abe93
xor ecx, ecx
jmp 0x4abeaf
mov ecx, edx
lea ebx, [ecx + 2]
jmp 0x4abea0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4abea0
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x1438]
call fcn.00470270
xor eax, eax
mov dword [ebp - 0x143c], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0x1450], ax
lea ecx, [ebp - 0x1450]
lea eax, [esi + 0x34]
mov dword [ebp - 0x1440], 0
push eax
call fcn.00470350
xor eax, eax
mov byte [ebp - 4], 7
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.0052f1e0
mov eax, dword [ebp - 0x14cc]
lea esi, [ebp - 0x1450]
add esp, 0xc
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
lea eax, [ebp - 0x218]
sar ecx, 2
dec ecx
cmp edi, ecx
mov ecx, esi
jne 0x4abf4c
cmp dword [ebp - 0x143c], 8
cmovae esi, dword [ebp - 0x1450]
cmovae ecx, dword [ebp - 0x1450]
push esi
push ecx
push str.__s__s
jmp 0x4abf68
cmp dword [ebp - 0x143c], 8
cmovae esi, dword [ebp - 0x1450]
cmovae ecx, dword [ebp - 0x1450]
push esi
push ecx
push 0x6461e4
push eax
call fcn.00530563
add esp, 0x10
cmp word [ebp - 0x218], 0
jne 0x4abf7f
xor ecx, ecx
jmp 0x4abf9f
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
jmp 0x4abf90
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4abf90
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x1438]
call fcn.00470270
cmp dword [ebp - 0x143c], 8
mov byte [ebp - 4], 6
jb 0x4abfcd
push dword [ebp - 0x1450]
call fcn.0052d900
add esp, 4
mov ecx, dword [ebp - 0x14cc]
mov eax, dword [ecx + 4]
inc edi
sub eax, dword [ecx]
sar eax, 2
cmp edi, eax
jb 0x4abe20
mov ebx, dword [ebp - 0x14d0]
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x1420], ax
lea eax, [ebp - 0x141e]
push eax
call fcn.0052f1e0
cmp dword [ebp - 0x1424], 8
lea eax, [ebp - 0x1438]
cmovae eax, dword [ebp - 0x1438]
push eax
lea eax, [ebp - 0x1420]
push 0x646208
push eax
call fcn.00530563
lea eax, [ebp - 0x1420]
push 0x7c
push eax
call fcn.005318df
add esp, 0x20
test eax, eax
je 0x4ac057
xor ecx, ecx
mov word [eax], cx
add eax, 2
push 0x7c
push eax
call fcn.005318df
add esp, 8
test eax, eax
jne 0x4ac040
test ebx, ebx
je 0x4ac068
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x14b0]
push eax
jmp 0x4ac0bc
mov eax, dword [ebp - 0x14cc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
test eax, eax
jne 0x4ac086
push str.invalid_vector_T__subscript
call fcn.0052c6ac
mov eax, dword [ecx]
mov ecx, dword [eax + 0x50]
mov esi, dword [eax + 0x4c]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4ac0ad
push str.invalid_vector_T__subscript
call fcn.0052c6ac
lea eax, [ebp - 0x1468]
cmp eax, esi
je 0x4ac0c7
push 0xffffffffffffffff
push 0
push esi
lea ecx, [ebp - 0x1468]
call fcn.00470350
lea eax, [ebp - 0x14cc]
push eax
call dword [sym.imp.ImageDraw.dll_public:_static_void___cdecl_CImageUtils::FreeExtensionInfos_class_std::vector_struct_ExtensionInfo___class_std::allocator_struct_ExtensionInfo______]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.0052f1e0
cmp dword [ebp - 0x1484], 8
lea eax, [ebp - 0x1498]
cmovae eax, dword [ebp - 0x1498]
push eax
lea eax, [ebp - 0x420]
push 0x646208
push eax
call fcn.00530563
push 0x58
lea eax, [ebp - 0x1530]
push 0
push eax
call fcn.0052f1e0
mov ebx, dword [ebp - 0x14d4]
lea eax, [ebp - 0x1420]
mov dword [ebp - 0x1524], eax
add esp, 0x28
cmp dword [ebp - 0x14b4], 8
lea eax, [ebp - 0x420]
mov dword [ebp - 0x1514], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x152c], eax
lea eax, [ebp - 0x14c8]
cmovae eax, dword [ebp - 0x14c8]
mov dword [ebp - 0x1504], eax
lea eax, [ebp - 0x1530]
push eax
mov dword [ebp - 0x1510], 0x104
mov dword [ebp - 0x14f4], 0x642138
mov dword [ebp - 0x1500], 0x646234
mov dword [ebp - 0x14fc], 0x804
mov dword [ebp - 0x1530], 0x58
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
test eax, eax
je 0x4ac1fe
mov edx, dword [ebp - 0x1514]
cmp word [edx], 0
jne 0x4ac1bc
xor ecx, ecx
jmp 0x4ac1d0
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4ac1c1
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0x83c]
call fcn.00470470
push ebx
push 0
push 0x4ac900
call fcn.00533d99
add esp, 0xc
mov dword [ebx + 0x8c0], eax
push 0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [ebp - 0x1424], 8
jb 0x4ac215
push dword [ebp - 0x1438]
call fcn.0052d900
add esp, 4
xor eax, eax
mov dword [ebp - 0x1424], 7
cmp dword [ebp - 0x146c], 8
mov dword [ebp - 0x1428], 0
mov word [ebp - 0x1438], ax
jb 0x4ac249
push dword [ebp - 0x1480]
call fcn.0052d900
add esp, 4
xor eax, eax
mov dword [ebp - 0x146c], 7
cmp dword [ebp - 0x1454], 8
mov dword [ebp - 0x1470], 0
mov word [ebp - 0x1480], ax
jb 0x4ac27d
push dword [ebp - 0x1468]
call fcn.0052d900
add esp, 4
xor eax, eax
mov dword [ebp - 0x1454], 7
cmp dword [ebp - 0x1484], 8
mov dword [ebp - 0x1458], 0
mov word [ebp - 0x1468], ax
jb 0x4ac2b1
push dword [ebp - 0x1498]
call fcn.0052d900
add esp, 4
xor eax, eax
mov dword [ebp - 0x1484], 7
cmp dword [ebp - 0x149c], 8
mov dword [ebp - 0x1488], 0
mov word [ebp - 0x1498], ax
jb 0x4ac2e5
push dword [ebp - 0x14b0]
call fcn.0052d900
add esp, 4
xor eax, eax
mov dword [ebp - 0x149c], 7
cmp dword [ebp - 0x14b4], 8
mov dword [ebp - 0x14a0], 0
mov word [ebp - 0x14b0], ax
jb 0x4ac319
push dword [ebp - 0x14c8]
call fcn.0052d900
add esp, 4
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.0052dfa4
mov esp, ebp
pop ebp
ret