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

Disassembly:
push 0xffffffffffffffff
push 0x10166b15
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c3584]
xor eax, esp
push eax
lea eax, [esp + 0x104]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x114]
cmp dword [ebp + 0x60], 0
je 0x1002ece7
mov eax, dword [esp + 0x124]
mov dword [ebp + 0x2dc], eax
mov eax, dword [esp + 0x118]
push edx
push eax
xor edi, edi
mov byte [ebp + 0x34c], 0
mov byte [ebp + 0x34d], 0
mov byte [ebp + 0x352], 0
mov byte [ebp + 0x34e], 0
mov byte [ebp + 0x351], 0
mov byte [ebp + 0x34f], 0
mov byte [ebp + 0x350], 0
mov dword [ebp + 0x2e0], ecx
mov byte [ebp + 0x368], 0
call fcn.1002adf0
add esp, 8
test al, al
jne 0x1002e217
mov eax, dword [ebp + 0x38c]
test eax, eax
je 0x1002e200
push eax
call fcn.100225e0
mov eax, 1
mov byte [ebp + 0x154], 0
mov byte [ebp + 0x156], al
jmp 0x1002ecf2
mov esi, dword [ebp + 0x150]
mov edi, dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
test esi, esi
je 0x1002e23e
mov ecx, esi
call edi
push esi
call ebx
mov dword [ebp + 0x150], 0
mov esi, dword [ebp + 0x2d4]
test esi, esi
je 0x1002e259
mov ecx, esi
call edi
push esi
call ebx
mov dword [ebp + 0x2d4], 0
cmp byte [ebp + 0x190], 0
mov ecx, dword [esp + 0x118]
mov esi, dword [ebp + 0xdc]
mov eax, dword [ebp + 0xe0]
mov dword [ebp + 0x2d8], ecx
mov byte [ebp + 0x2c4], 1
mov dword [ebp + 0x2c0], esi
push eax
je 0x1002e2c4
mov dx, word [ebp + 0xf2]
mov word [esp + 0x1c], dx
mov eax, dword [esp + 0x1c]
push eax
call fcn.1002ac70
mov cx, word [ebp + 0xf0]
mov word [esp + 0x20], cx
mov edx, dword [esp + 0x20]
push esi
push edx
mov dword [ebp + 0x2bc], eax
call fcn.1002ac70
mov dword [ebp + 0x2b8], eax
jmp 0x1002e2fd
mov cx, word [ebp + 0xf2]
mov word [esp + 0x1c], cx
mov edx, dword [esp + 0x1c]
push edx
call fcn.1002ac70
mov dword [ebp + 0x2b8], eax
mov ax, word [ebp + 0xf0]
mov word [esp + 0x20], ax
mov ecx, dword [esp + 0x20]
push esi
push ecx
call fcn.1002ac70
mov dword [ebp + 0x2bc], eax
add esp, 0x10
cmp dword [ebp + 0x2b8], 0
jne 0x1002e320
mov edx, str.scan_height__0
mov ecx, str.err_bad_argumrnt
call fcn.10001c60
or eax, 0xffffffff
jmp 0x1002ecf2
mov edi, dword [sym.imp.sslog.dll_class_log4cplus::Logger___cdecl_CommonLogger_void_]
lea edx, [esp + 0x1c]
push edx
call edi
add esp, 4
push 0x2710
mov ecx, eax
mov dword [esp + 0x110], 0
call fcn.100ca990
lea ecx, [esp + 0x1c]
mov bl, al
mov dword [esp + 0x10c], 0xffffffff
call fcn.100ca8f0
test bl, bl
je 0x1002e43f
push 1
push 2
lea ecx, [esp + 0x84]
call fcn.10004c90
mov dword [esp + 0x10c], 1
mov eax, dword [ebp + 0x2b8]
push eax
push ecx
lea ecx, [esp + 0x84]
push str.___dwHeight:
push ecx
call fcn.100078c0
add esp, 0xc
mov ecx, eax
call fcn.1001eeb0
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x80]
call fcn.10004df0
mov esi, eax
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x110], 2
call edi
add esp, 4
push 0x2fc
push str..SFDataMngr.cpp
push esi
push 0x2710
mov ecx, eax
mov byte [esp + 0x11c], 3
call sub.sslog.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const___int_const
lea ecx, [esp + 0x1c]
mov byte [esp + 0x10c], 2
call fcn.100ca8f0
cmp dword [esp + 0x6c], 0x10
jb 0x1002e40d
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1013d576
add esp, 4
lea ecx, [esp + 0xc8]
mov dword [esp + 0x10c], 0xffffffff
call fcn.10004d70
lea edx, [esp + 0xc8]
push edx
mov dword [esp + 0xcc], vtable.std::ios_base.0
call fcn.1013919a
add esp, 4
mov eax, dword [ebp + 0xe4]
cmp eax, 3
sete cl
test eax, eax
sete al
mov byte [esp + 0x17], cl
mov byte [ebp + 0x2cc], al
test cl, cl
je 0x1002e469
mov eax, 3
mov dword [esp + 0x24], eax
jmp 0x1002e479
xor ecx, ecx
test al, al
setne cl
add ecx, 5
mov eax, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x48]
mov dword [ebp + 0x2c8], eax
mov esi, 1
test ecx, ecx
je 0x1002e48d
shl esi, cl
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x18], esi
mov dword [ebp + 0x2d0], esi
test ecx, ecx
je 0x1002e4ab
mov eax, 1
shl eax, cl
mov dword [esp + 0x2c], eax
jmp 0x1002e4b3
mov dword [esp + 0x2c], 1
mov edx, dword [esp + 0x2c]
mov edi, dword [ebp + 0x2bc]
mov ebx, dword [ebp + 0x2b8]
xor ecx, ecx
push ecx
push edx
xor eax, eax
push eax
push esi
call fcn.10140ef0
xor ecx, ecx
push ecx
push ebx
push edx
push eax
call fcn.10140ef0
xor ecx, ecx
push ecx
push edi
push edx
push eax
call fcn.10140ef0
test edx, edx
jg 0x1002eedf
jl 0x1002e4fb
cmp eax, 0x17d78400
ja 0x1002eedf
mov ecx, edi
imul ecx, esi
cmp ecx, 0x9c40
ja 0x1002eedf
mov eax, ebx
imul eax, dword [esp + 0x2c]
cmp eax, 0x9c40
ja 0x1002eedf
cmp ecx, 8
jb 0x1002eec4
cmp eax, 8
jb 0x1002eec4
xor eax, eax
cmp dword [esp + 0x24], 3
sete al
xor ecx, ecx
push ecx
mov ecx, dword [esp + 0x1c]
push ecx
lea eax, [eax + eax + 1]
mov esi, eax
cdq
push edx
push eax
call fcn.10140ef0
xor ecx, ecx
push ecx
mov ecx, dword [esp + 0x30]
push ecx
push edx
push eax
call fcn.10140ef0
xor ecx, ecx
push ecx
push ebx
push edx
push eax
call fcn.10140ef0
xor ecx, ecx
push ecx
push edi
push edx
push eax
call fcn.10140ef0
imul esi, edi
imul esi, ebx
add esi, esi
xor ecx, ecx
add eax, esi
adc edx, ecx
mov dword [esp + 0x48], edx
js 0x1002e5ad
jg 0x1002e592
cmp eax, 0x60000000
jb 0x1002e5ad
xor edx, edx
mov ecx, str.err_sf_no_memory
call fcn.10001c60
mov esi, ebp
call fcn.1002bf50
or eax, 0xffffffff
jmp 0x1002ecf2
push 4
call fcn.1013d60d
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x10c], 4
test eax, eax
je 0x1002e5d9
push ebp
mov ecx, 0x1002ef20
push ecx
push eax
call fcn.10035340
jmp 0x1002e5db
xor eax, eax
lea edx, [esp + 0x1c]
or ebx, 0xffffffff
push edx
mov ecx, eax
mov dword [esp + 0x110], ebx
call fcn.10015710
lea edi, [ebp + 0x344]
mov dword [esp + 0x10c], 5
call fcn.10027120
lea eax, [esp + 0x1c]
mov dword [esp + 0x10c], ebx
call fcn.100204a0
push 4
call fcn.1013d60d
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x10c], 6
test eax, eax
je 0x1002e643
push ebp
mov ecx, 0x100305e0
push ecx
push eax
call fcn.10035340
jmp 0x1002e645
xor eax, eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, eax
mov dword [esp + 0x110], ebx
call fcn.10015710
lea edi, [ebp + 0x308]
mov dword [esp + 0x10c], 7
call fcn.10027120
lea eax, [esp + 0x1c]
mov dword [esp + 0x10c], ebx
call fcn.100204a0
push 4
call fcn.1013d60d
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x10c], 8
test eax, eax
je 0x1002e6aa
push ebp
mov ecx, 0x1002fc80
push ecx
push eax
call fcn.10035340
jmp 0x1002e6ac
xor eax, eax
lea edx, [esp + 0x1c]
push edx
mov ecx, eax
mov dword [esp + 0x110], ebx
call fcn.10015710
lea edi, [ebp + 0x334]
mov dword [esp + 0x10c], 9
call fcn.10001120
lea eax, [esp + 0x1c]
mov dword [esp + 0x10c], ebx
call fcn.100204a0
push 4
call fcn.1013d60d
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x10c], 0xa
test eax, eax
je 0x1002e711
push ebp
mov ecx, 0x10030510
push ecx
push eax
call fcn.10035340
jmp 0x1002e713
xor eax, eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, eax
mov dword [esp + 0x110], ebx
call fcn.10015710
lea edi, [ebp + 0x354]
mov dword [esp + 0x10c], 0xb
call fcn.10027120
lea eax, [esp + 0x1c]
mov dword [esp + 0x10c], ebx
call fcn.100204a0
cmp dword [ebp + 0x50], 0
je 0x1002e773
xor eax, eax
lea edi, [esp + 0x54]
mov esi, ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
call fcn.10031a40
lea edx, [ebp + 0x300]
push edx
lea ecx, [esp + 0x20]
call fcn.10014e10
mov eax, dword [esp + 0x120]
push ebx
push 0
push eax
lea ecx, [ebp + 0x310]
mov dword [esp + 0x118], 0xc
call fcn.100015f0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x10c], ebx
call fcn.10014e30
cmp byte [esp + 0x17], 0
je 0x1002e7ed
cmp byte [ebp + 0x184], 0
je 0x1002e7ed
mov ecx, dword [ebp + 0xf8]
mov al, byte [ebp + 0x13c]
mov esi, dword [ebp + 0x188]
push ecx
movzx ecx, al
push ecx
lea edx, [ebp + 0x168]
push edx
call fcn.1000c630
mov byte [ebp + 0x184], al
fldz
mov eax, dword [ebp + 0x360]
xor edi, edi
fstp qword [eax]
mov byte [esp + 0x17], 0
mov dword [esp + 0x2c], 0x28
mov dword [esp + 0x30], edi
lea ebx, [ebx]
mov eax, dword [ebp + 0x344]
push eax
lea eax, [esp + 0x30]
xor ebx, ebx
call fcn.10035430
test al, al
jne 0x1002ede7
mov eax, dword [ebp + 0x334]
push eax
mov esi, 0x28
lea eax, [esp + 0x50]
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
call fcn.10035430
test al, al
jne 0x1002ede7
mov eax, dword [ebp + 0x308]
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebx
call fcn.10035430
test al, al
jne 0x1002ede7
push 0x30
call fcn.1013d60d
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x10c], 0xd
cmp eax, ebx
je 0x1002e895
mov ecx, eax
call fcn.1005c8c0
jmp 0x1002e897
xor eax, eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
mov dword [esp + 0x110], 0xffffffff
call fcn.10029f40
mov dword [esp + 0x10c], 0xe
mov edx, dword [esp + 0x24]
mov ecx, dword [ebp + 0x60]
push edx
push 2
call fcn.1005a070
mov esi, eax
cmp esi, ebx
jne 0x1002ed0e
mov ecx, dword [esp + 0x24]
call fcn.1005c2a0
test eax, eax
je 0x1002ed0e
mov ecx, dword [esp + 0x24]
call fcn.1005c2d0
test al, al
je 0x1002e8f5
mov byte [esp + 0x17], 1
lea eax, [ebp + 0x33c]
push eax
lea ecx, [esp + 0x48]
call fcn.10014e10
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, edi
inc edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
cmp ecx, ebx
je 0x1002e934
lea esi, [ecx + 4]
mov edi, 1
lock xadd dword [esi], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
cmp ecx, ebx
je 0x1002e950
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x58]
push ecx
lea ebx, [ebp + 0x1b4]
mov byte [esp + 0x114], 0x11
call fcn.100320e0
lea eax, [esp + 0x38]
mov byte [esp + 0x10c], 0x10
call fcn.1002fc40
lea eax, [esp + 0x70]
mov byte [esp + 0x10c], 0xf
call fcn.1002fc40
lea ecx, [esp + 0x44]
mov byte [esp + 0x10c], 0xe
call fcn.10014e30
lea eax, [esp + 0x24]
mov dword [esp + 0x10c], 0xffffffff
call fcn.100204a0
cmp byte [esp + 0x17], 0
je 0x1002e810
mov esi, 0x9c40
xor ebx, ebx
cmp dword [ebp + 0x1d0], ebx
jne 0x1002e9de
cmp dword [ebp + 0x1f0], ebx
jne 0x1002e9de
cmp dword [ebp + 0x1b0], ebx
je 0x1002e9f9
cmp byte [ebp + 0x368], bl
jne 0x1002e9f9
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ebx
call fcn.10029fa0
jmp 0x1002e9c4
mov edi, dword [ebp + 0x308]
mov byte [ebp + 0x34d], 1
mov byte [ebp + 0x352], 1
mov byte [ebp + 0x34f], 1
call fcn.10018110
mov edi, dword [ebp + 0x334]
call fcn.10018110
mov edi, dword [ebp + 0x344]
call fcn.10018110
mov edi, dword [ebp + 0x354]
mov byte [ebp + 0x35c], 1
call fcn.10018110
cmp byte [ebp + 0x34c], bl
je 0x1002eaa2
xor edx, edx
mov ecx, str.err_no_memory
call fcn.10001c60
mov esi, dword [ebp + 0x150]
cmp esi, ebx
je 0x1002ea74
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x150], ebx
mov esi, dword [ebp + 0x2d4]
cmp esi, ebx
je 0x1002ea93
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x2d4], ebx
mov esi, ebp
call fcn.1002bf50
or eax, 0xffffffff
jmp 0x1002ecf2
cmp byte [ebp + 0x368], bl
je 0x1002eaf9
mov esi, dword [ebp + 0x150]
cmp esi, ebx
je 0x1002eac9
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x150], ebx
mov esi, dword [ebp + 0x2d4]
cmp esi, ebx
je 0x1002eae8
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x2d4], ebx
mov esi, ebp
call fcn.1002bf50
mov eax, 1
jmp 0x1002ecf2
mov ecx, dword [ebp + 0x2d4]
mov esi, dword [ecx + 0x14]
mov eax, dword [ebp + 0x2b8]
cmp esi, eax
jae 0x1002ebc2
sub eax, esi
push eax
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::IncreaseInBottom_unsigned_int_]
mov edx, dword [ebp + 0x2b8]
mov ecx, dword [ebp + 0x2d4]
sub edx, esi
push edx
push esi
call dword [sym.imp.BitmapBuffer.dll_public:_unsigned_char____thiscall_BitmapBuffer::Lock_unsigned_int__unsigned_int_]
mov edi, eax
cmp edi, ebx
jne 0x1002eb94
xor edx, edx
mov ecx, str.err_no_memory
call fcn.10001c60
mov esi, dword [ebp + 0x150]
cmp esi, ebx
je 0x1002eb60
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x150], ebx
mov esi, dword [ebp + 0x2d4]
cmp esi, ebx
je 0x1002eb7f
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x2d4], ebx
mov esi, ebp
mov byte [ebp + 0x156], bl
call fcn.1002bf50
or eax, 0xffffffff
jmp 0x1002ecf2
mov eax, dword [ebp + 0x2b8]
mov ecx, dword [ebp + 0x2d4]
sub eax, esi
imul eax, dword [ecx + 0x18]
push eax
push 0xff
push edi
call fcn.1013f910
mov ecx, dword [ebp + 0x2d4]
add esp, 0xc
push edi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::Unlock_unsigned_char__]
cmp byte [ebp + 0x190], bl
je 0x1002ec10
fld qword [0x101a7448]
mov edx, dword [ebp + 0x2d4]
push ebx
sub esp, 8
fstp qword [esp]
push edx
call dword [sym.imp.BitmapBuffer.dll_class_BitmapBuffer____cdecl_bbTransformations::CreateRotated_class_BitmapBuffer_const___double__struct_progress_callback__]
mov edi, eax
add esp, 0x10
cmp edi, ebx
je 0x1002ea49
mov esi, dword [ebp + 0x2d4]
cmp esi, ebx
je 0x1002ec0a
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x2d4], edi
cmp dword [ebp + 0x58], ebx
je 0x1002ecc5
cmp dword [ebp + 0x5c], ebx
je 0x1002ecc5
fld qword [0x101a7440]
mov eax, dword [ebp + 0x2d4]
push ebx
sub esp, 8
fstp qword [esp]
push eax
mov dword [ebp + 0x5c], ebx
call dword [sym.imp.BitmapBuffer.dll_class_BitmapBuffer____cdecl_bbTransformations::CreateRotated_class_BitmapBuffer_const___double__struct_progress_callback__]
mov edi, eax
add esp, 0x10
cmp edi, ebx
je 0x1002ec69
mov esi, dword [ebp + 0x2d4]
cmp esi, ebx
je 0x1002ec61
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x2d4], edi
jmp 0x1002eccc
xor edx, edx
mov ecx, str.err_no_memory
call fcn.10001c60
mov esi, dword [ebp + 0x150]
cmp esi, ebx
je 0x1002ec94
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x150], ebx
mov esi, dword [ebp + 0x2d4]
cmp esi, ebx
je 0x1002ecb3
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x2d4], ebx
mov esi, ebp
mov byte [ebp + 0x156], bl
call fcn.1002bf50
or eax, 0xffffffff
jmp 0x1002ecf2
mov dword [ebp + 0x5c], 1
mov ecx, dword [ebp + 0x2d4]
mov edx, dword [esp + 0x11c]
mov dword [edx], ecx
mov dword [ebp + 0x2d4], ebx
mov byte [ebp + 0x156], bl
xor eax, eax
cmp byte [ebp + 0x368], al
setne al
mov ecx, dword [esp + 0x104]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret 0x14
mov edi, dword [ebp + 0x308]
mov byte [ebp + 0x34d], 1
mov byte [ebp + 0x352], 1
mov byte [ebp + 0x34f], 1
call fcn.10018110
mov edi, dword [ebp + 0x334]
call fcn.10018110
mov edi, dword [ebp + 0x344]
call fcn.10018110
mov edi, dword [ebp + 0x354]
mov byte [ebp + 0x35c], 1
call fcn.10018110
cmp esi, 1
jne 0x1002ed80
mov esi, ebp
call fcn.1002bf50
lea eax, [esp + 0x24]
mov dword [esp + 0x10c], 0xffffffff
call fcn.100204a0
mov eax, 1
jmp 0x1002ecf2
mov edi, dword [ebp + 0x150]
cmp edi, ebx
je 0x1002ed9f
mov ecx, edi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x150], ebx
mov edi, dword [ebp + 0x2d4]
cmp edi, ebx
je 0x1002edbe
mov ecx, edi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x2d4], ebx
push esi
call fcn.10002fe0
mov esi, ebp
call fcn.1002bf50
lea eax, [esp + 0x24]
mov dword [esp + 0x10c], 0xffffffff
call fcn.100204a0
or eax, 0xffffffff
jmp 0x1002ecf2
mov ecx, dword [ebp + 0x308]
mov byte [ebp + 0x34d], 1
mov byte [ebp + 0x352], 1
mov byte [ebp + 0x34f], 1
call fcn.1013a740
test al, al
je 0x1002ee16
mov edi, dword [ebp + 0x308]
call fcn.10018110
mov ecx, dword [ebp + 0x334]
call fcn.1013a740
test al, al
je 0x1002ee30
mov edi, dword [ebp + 0x334]
call fcn.10018110
mov ecx, dword [ebp + 0x344]
call fcn.1013a740
test al, al
je 0x1002ee4a
mov edi, dword [ebp + 0x344]
call fcn.10018110
mov ecx, dword [ebp + 0x354]
mov byte [ebp + 0x35c], 1
call fcn.1013a740
test al, al
je 0x1002ee6b
mov edi, dword [ebp + 0x354]
call fcn.10018110
mov esi, dword [ebp + 0x150]
cmp esi, ebx
je 0x1002ee8a
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x150], ebx
mov esi, dword [ebp + 0x2d4]
cmp esi, ebx
je 0x1002eea9
mov ecx, esi
call dword [sym.imp.BitmapBuffer.dll_public:_void___thiscall_BitmapBuffer::destructor_void_]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp + 0x2d4], ebx
mov esi, ebp
call fcn.1002bf50
xor edx, edx
mov ecx, str.err_unknown
call fcn.10001c60
or eax, 0xffffffff
jmp 0x1002ecf2
xor edx, edx
mov ecx, str.err_image_too_small
call fcn.10001c60
mov esi, ebp
call fcn.1002bf50
or eax, 0xffffffff
jmp 0x1002ecf2
xor edx, edx
mov ecx, str.err_sf_no_memory
call fcn.10001c60
mov eax, dword [ebp + 0x38c]
test eax, eax
je 0x1002eefb
push eax
call fcn.100225e0
mov byte [ebp + 0x154], 0
mov byte [ebp + 0x156], 1
or eax, 0xffffffff
jmp 0x1002ecf2