Function at 0x421dd0
Capabilities:
Create thread
Read .ini file
Resolve function by parsing pe exports
Resume thread

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x60]
xor esi, esi
cmp edi, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], esi
jle 0x42293b
cmp dword [esp + 0x64], esi
jle 0x42293b
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x5c]
cmp eax, esi
je 0x421e51
lea eax, [esp + 0x48]
push ebp
push eax
call fcn.004c85c0
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
sub esp, 8
mov ecx, esp
push 0x3fe5c28f
push 0x5c28f5c3
mov dword [ecx], edx
mov edx, dword [esp + 0x68]
push ebp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.0041a0c0
add esp, 0x1c
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
cmp ebx, esi
je 0x42293b
mov cx, word [ebx + 0xe]
cmp cx, 8
jbe 0x421e6f
mov dword [ebx + 0x20], esi
cmp edi, dword [ebx + 4]
jg 0x421e9b
mov edx, dword [esp + 0x64]
mov eax, dword [ebx + 8]
cmp edx, eax
jg 0x421e9b
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x6c]
cmp edx, esi
mov dword [esp + 0x28], eax
je 0x421e9b
cmp eax, esi
jne 0x421e9b
mov dword [esp + 0x68], 5
cmp cx, 0x18
je 0x421ee1
push ebx
xor esi, esi
call fcn.004c9830
push ebx
mov edi, eax
call fcn.004c9950
add esp, 8
test edi, edi
je 0x421fcd
test eax, eax
je 0x421ec5
mov esi, 1
cmp word [ebx + 0xe], 8
jne 0x421fc5
test eax, eax
jne 0x421fc5
push ebx
call fcn.00419270
add esp, 4
xor esi, esi
mov ebp, dword [ebx + 0x20]
mov si, word [ebx + 0xe]
mov eax, esi
imul eax, dword [esp + 0x60]
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
mov ecx, eax
sar ecx, 5
shl ecx, 2
mov edi, ecx
imul edi, dword [esp + 0x64]
test ecx, ecx
jle 0x422920
mov eax, dword [ebx + 4]
imul eax, esi
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
shl eax, 2
test eax, eax
jle 0x422920
mov eax, edi
xor edx, edx
div dword [esp + 0x64]
test eax, eax
jle 0x422920
test edi, edi
jle 0x422920
cmp ebp, 0x100
jg 0x422920
mov esi, dword [esp + 0x60]
mov edx, 0xf3e58
cmp esi, edx
jg 0x422920
cmp dword [esp + 0x64], edx
jg 0x422920
cmp eax, ecx
jb 0x422920
cmp edi, 0xfffffbd7
ja 0x422920
lea eax, [edi + ebp*4 + 0x28]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor esi, esi
mov dword [esp + 0x40], eax
cmp eax, esi
jne 0x422083
mov edi, dword [esp + 0x14]
cmp edi, esi
je 0x42206e
mov esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call esi
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
test esi, esi
jne 0x421ee1
xor esi, esi
push ebp
mov si, word [ebx + 0xe]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp esi, 1
jne 0x421ffa
push ebp
call fcn.00424370
mov esi, eax
push ebp
mov dword [esp + 0x1c], esi
call fcn.004c9880
add esp, 8
mov dword [esp + 0x3c], eax
jmp 0x42203d
cmp esi, 4
jne 0x422025
test edi, edi
push ebp
je 0x42201e
call fcn.00423fd0
mov esi, eax
push 0
push 0
push esi
mov dword [esp + 0x24], esi
call fcn.00419480
add esp, 0x10
jmp 0x42203d
call fcn.004249c0
jmp 0x422034
cmp esi, 8
jne 0x42293b
push ebp
call fcn.00424830
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x42293b
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
test ebx, ebx
jne 0x421ee1
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov ecx, dword [esp + 0x5c]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [eax], 0x28
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0x20], ebp
mov dx, word [ebx + 0xe]
mov word [eax + 0xc], 1
mov word [eax + 0xe], dx
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], esi
mov dword [eax + 0x24], esi
mov ecx, dword [ebx + 0x18]
cmp ebp, esi
mov dword [eax + 0x18], ecx
mov edx, dword [ebx + 0x1c]
mov dword [eax + 0x1c], edx
jle 0x4220d2
mov ecx, ebp
lea esi, [ebx + 0x28]
lea edi, [eax + 0x28]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [eax]
mov edi, dword [ebx]
mov ecx, dword [esp + 0x78]
shl ebp, 2
add esi, ebp
add edi, ebp
add esi, eax
add edi, ebx
mov eax, 1
mov dword [esp + 0x18], edi
test ecx, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x6c], eax
je 0x422103
call fcn.00421d80
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x422449
mov ecx, dword [esp + 0x64]
cmp eax, ecx
jbe 0x42211d
mov dword [esp + 0x6c], ecx
mov eax, ecx
cmp eax, 1
je 0x4223e1
push 4
push eax
call fcn.004d61b4
add esp, 8
mov dword [esp + 0x74], eax
test eax, eax
je 0x42229a
mov edi, dword [esp + 0x64]
push 0xc
push edi
call fcn.004d61b4
mov dword [esp + 0x2c], eax
push eax
mov eax, dword [ebx + 8]
push edi
push eax
call fcn.00421080
fild dword [esp + 0x78]
mov ecx, dword [esp + 0x80]
xor esi, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], esi
fstp dword [esp + 0x7c]
fild qword [esp + 0x40]
add esp, 0x14
fstp dword [esp + 0x78]
fld dword [esp + 0x68]
fdiv dword [esp + 0x78]
fadd qword [0x5526c8]
call fcn.004d6118
mov edx, dword [esp + 0x6c]
mov ebp, eax
mov dword [esp + 0x68], esi
lea eax, [edx - 1]
test eax, eax
jbe 0x422236
push 0x48
push 1
call fcn.004d61b4
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
add esp, 8
test esi, esi
mov dword [ecx + edx*4], eax
jne 0x4221c7
push 1
push esi
push esi
push ebp
push esi
jmp 0x4221e2
mov edx, dword [esp + 0x24]
lea ecx, [esi + esi*2]
lea ecx, [edx + ecx*4]
mov edx, dword [ecx - 4]
push edx
mov edx, dword [ecx - 8]
mov ecx, dword [ecx - 0xc]
push edx
lea edx, [esi + ebp]
push ecx
push edx
push esi
mov edx, dword [ebx + 8]
push 1
push 0
push 0
xor ecx, ecx
push 0
push ecx
mov cx, word [ebx + 0xe]
push 0
push ecx
mov ecx, dword [ebx + 4]
push edx
mov edx, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x54]
push edi
push edx
mov edx, dword [esp + 0x58]
push ecx
push edx
push eax
call fcn.00421c20
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
add esp, 0x4c
add esi, ebp
inc eax
dec ecx
cmp eax, ecx
mov dword [esp + 0x68], eax
jb 0x4221a4
push 0x48
push 1
call fcn.004d61b4
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + edx*4 - 4], eax
mov ecx, dword [esp + 0x2c]
lea edx, [esi + esi*2]
lea ecx, [ecx + edx*4]
mov edx, dword [ecx - 4]
push edx
mov edx, dword [ecx - 8]
mov ecx, dword [ecx - 0xc]
push edx
push ecx
push edi
mov ecx, dword [ebx + 8]
push esi
push 1
push 0
push 0
xor edx, edx
mov dx, word [ebx + 0xe]
push 0
push 0
push 0
push edx
mov edx, dword [ebx + 4]
push ecx
push edx
push edi
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x60]
push edx
push ecx
push eax
call fcn.00421c20
add esp, 0x54
mov edi, dword [esp + 0x6c]
push 4
push edi
call fcn.004d61b4
add esp, 8
mov ebx, eax
test edi, edi
jbe 0x4222ea
mov ebp, dword [esp + 0x74]
mov esi, ebx
sub ebp, ebx
mov dword [esp + 0x68], edi
mov edx, dword [esi + ebp]
lea ecx, [esp + 0x6c]
push ecx
push 4
push edx
push 0x421cc0
push 0
push 0
call fcn.004d6f8c
mov dword [esi], eax
mov eax, dword [esp + 0x80]
add esp, 0x18
add esi, 4
dec eax
mov dword [esp + 0x68], eax
jne 0x4222bb
xor esi, esi
test edi, edi
jbe 0x422301
mov ebp, dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, dword [ebx + esi*4]
push eax
call ebp
inc esi
cmp esi, edi
jb 0x4222f6
xor esi, esi
test edi, edi
jbe 0x422341
mov ebp, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebx + esi*4]
push 0xffffffffffffffff
push ecx
call ebp
inc esi
cmp esi, edi
jb 0x42230d
test edi, edi
jbe 0x422341
mov esi, dword [esp + 0x74]
mov ebp, ebx
sub ebp, esi
mov edx, dword [esi + ebp]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi]
push eax
call fcn.004d59c1
add esp, 4
add esi, 4
dec edi
jne 0x422326
push ebx
call fcn.004d59c1
mov ecx, dword [esp + 0x78]
push ecx
call fcn.004d59c1
mov eax, dword [esp + 0x2c]
add esp, 8
test eax, eax
je 0x422365
push eax
call fcn.004d59c1
add esp, 4
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x422392
mov edi, dword [esp + 0x64]
test edi, edi
jbe 0x422389
lea esi, [ebx + 4]
mov edx, dword [esi]
push edx
call fcn.004d59c1
add esp, 4
add esi, 8
dec edi
jne 0x422378
push ebx
call fcn.004d59c1
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4223c3
mov edi, dword [esp + 0x60]
test edi, edi
jbe 0x4223b6
lea esi, [eax + 4]
mov ecx, dword [esi]
push ecx
call fcn.004d59c1
add esp, 4
add esi, 8
dec edi
jne 0x4223a5
mov edx, dword [esp + 0x20]
push edx
call fcn.004d59c1
add esp, 4
mov edi, dword [esp + 0x14]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
test edi, edi
je 0x4227a2
push edi
call ebx
mov ebp, dword [esp + 0x5c]
jmp 0x4227a9
push 0
push 0
call fcn.004d70c5
push 0x30300
push 0x20300
mov ebp, eax
call fcn.004d70c5
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push 0
push 0
mov ecx, dword [ebx + 8]
push 0
push eax
push 0
push eax
xor eax, eax
mov ax, word [ebx + 0xe]
push edx
mov edx, dword [ebx + 4]
push eax
push ecx
push edx
push esi
push edi
call fcn.00421140
add esp, 0x40
push 0xfffff
push 0x9001f
call fcn.004d70c5
push 0xffff
push ebp
call fcn.004d70c5
add esp, 0x10
jmp 0x4223c3
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jne 0x422469
push 0x5b9260
push 5
push str.ResampleFilter
push str.Resize
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, 4
ja case.default.0x42246e
jmp dword [eax*4 + 0x42295c]
mov dword [esp + 0x74], 0x3f800000
mov dword [esp + 0x68], 0x4201a0
jmp 0x4224df
mov dword [esp + 0x74], 0x3f800000
mov dword [esp + 0x68], 0x4201f0
jmp 0x4224df
mov dword [esp + 0x74], 0x3fc00000
mov dword [esp + 0x68], 0x420230
jmp 0x4224df
mov dword [esp + 0x74], 0x40000000
mov dword [esp + 0x68], 0x4204d0
jmp 0x4224df
mov dword [esp + 0x74], 0x40000000
mov dword [esp + 0x68], 0x4202b0
jmp 0x4224df
mov dword [esp + 0x74], 0x40400000
mov dword [esp + 0x68], 0x420350
mov ecx, dword [ebx + 4]
mov edx, 1
cmp ecx, edx
jne 0x4224f1
fild dword [esp + 0x60]
jmp 0x422529
mov eax, dword [esp + 0x60]
dec eax
cmp eax, edx
mov dword [esp + 0x78], eax
jg 0x422502
mov dword [esp + 0x78], edx
lea eax, [ecx - 1]
cmp eax, edx
mov dword [esp + 0x28], eax
jg 0x422511
mov dword [esp + 0x28], edx
fild dword [esp + 0x78]
fstp dword [esp + 0x78]
fild dword [esp + 0x28]
fstp dword [esp + 0x2c]
fld dword [esp + 0x78]
fdiv dword [esp + 0x2c]
mov ecx, dword [ebx + 8]
fstp dword [esp + 0x2c]
cmp ecx, edx
jne 0x42253a
fild dword [esp + 0x64]
jmp 0x422572
mov eax, dword [esp + 0x64]
dec eax
cmp eax, edx
mov dword [esp + 0x78], eax
jg 0x42254b
mov dword [esp + 0x78], edx
lea eax, [ecx - 1]
cmp eax, edx
mov dword [esp + 0x28], eax
jg 0x42255a
mov dword [esp + 0x28], edx
fild dword [esp + 0x78]
fstp dword [esp + 0x78]
fild dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x78]
fdiv dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
push 8
fstp dword [esp + 0x7c]
push ecx
call fcn.004d61b4
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x4223c3
mov edx, dword [esp + 0x68]
mov eax, dword [ebx + 8]
mov ebp, dword [esp + 0x64]
mov ecx, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x18]
push ebp
push ecx
push edx
push eax
call fcn.004205a0
mov edi, dword [esp + 0x78]
push 8
push edi
call fcn.004d61b4
mov esi, eax
add esp, 0x20
test esi, esi
mov dword [esp + 0x20], esi
jne 0x4225f2
test ebp, ebp
jbe 0x4225e8
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 4]
mov edx, dword [esi]
push edx
call fcn.004d59c1
add esp, 4
add esi, 8
dec ebp
jne 0x4225d7
mov eax, dword [esp + 0x10]
push eax
jmp 0x4223bb
mov ecx, dword [esp + 0x68]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push edi
push eax
push ecx
push esi
call fcn.004205a0
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x84]
add esp, 0x18
cmp ecx, eax
jbe 0x422621
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x6c], ebp
jbe 0x42262b
mov dword [esp + 0x6c], ebp
mov eax, dword [esp + 0x6c]
cmp eax, 1
je 0x42272f
mov edi, eax
push 4
push edi
call fcn.004d61b4
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 8]
xor edx, edx
add esp, 8
div edi
mov edx, dword [esp + 0x6c]
xor esi, esi
xor edi, edi
mov dword [esp + 0x78], eax
lea eax, [edx - 1]
test eax, eax
jbe 0x4226de
push 0x48
push 1
call fcn.004d61b4
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
push 0
push 0
push 0
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0x24]
push 0
lea ebp, [edx + esi]
mov edx, dword [esp + 0x38]
push 0
push 0
push ecx
mov ecx, dword [esp + 0x8c]
push edx
xor edx, edx
mov dx, word [ebx + 0xe]
push ecx
mov ecx, dword [ebx + 8]
push ebp
push esi
push edx
mov edx, dword [ebx + 4]
push ecx
mov ecx, dword [esp + 0xa0]
push edx
mov edx, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push ecx
push edx
push eax
call fcn.00421c20
mov eax, dword [esp + 0xc0]
add esp, 0x54
inc edi
dec eax
cmp edi, eax
mov esi, ebp
jb 0x422663
push 0x48
push 1
call fcn.004d61b4
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x74]
push 0
push 0
push 0
mov dword [ecx + edx*4 - 4], eax
mov edx, dword [esp + 0x24]
push 0
push 0
mov ecx, dword [ebx + 8]
push 0
push edx
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x90]
push edx
xor edx, edx
mov dx, word [ebx + 0xe]
push ecx
push esi
push edx
mov edx, dword [esp + 0x9c]
push ecx
mov ecx, dword [ebx + 4]
push ecx
push edx
jmp 0x42227f
push 0
push 0
call fcn.004d70c5
push 0x30300
push 0x20300
mov dword [esp + 0x7c], eax
call fcn.004d70c5
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
mov eax, dword [ebx + 8]
push edx
push esi
xor edx, edx
mov dx, word [ebx + 0xe]
push ecx
mov ecx, dword [esp + 0x34]
push eax
push 0
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [ebx + 4]
push eax
push ebp
push edi
push ecx
push edx
call fcn.00420880
add esp, 0x40
push 0xfffff
push 0x9001f
call fcn.004d70c5
mov eax, dword [esp + 0x74]
push 0xffff
push eax
call fcn.004d70c5
add esp, 0x10
jmp 0x422365
mov ebp, dword [esp + 0x5c]
push ebp
call ebx
mov esi, dword [esp + 0x40]
push esi
call ebx
test edi, edi
je 0x4227be
push edi
call ebx
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x42283f
lea eax, [esp + 0x48]
push esi
push eax
call fcn.004c85c0
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
sub esp, 8
mov ecx, esp
push 0x3ff78787
push 0x87878787
mov dword [ecx], edx
mov edx, dword [esp + 0x68]
push esi
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
call fcn.0041a0c0
lea ecx, [esp + 0x64]
push ebp
push ecx
call fcn.004c85c0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
add esp, 0x14
mov edx, esp
push 0x3ff78787
push 0x87878787
mov dword [edx], eax
mov eax, dword [esp + 0x68]
push ebp
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
call fcn.0041a0c0
add esp, 0x1c
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x422916
push 0x5b9260
push 1
push str.EnableBWGamma
push str.Viewing
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x422916
push 0x5b9260
lea edx, [esp + 0x30]
push 6
push edx
push 0x5988d4
push str.BWGamma
push str.Viewing
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x2c]
push eax
call fcn.004c5910
fstp qword [esp + 0x44]
fld qword [esp + 0x44]
fcomp qword [0x552858]
add esp, 4
fnstsw ax
test ah, 5
jp 0x4228b9
mov ebx, 0x47ae147b
mov edi, 0x3f847ae1
jmp 0x4228e0
fld qword [esp + 0x40]
fcomp qword [0x552850]
fnstsw ax
and eax, 0x4100
jne 0x4228d8
mov ebx, 0x8f5c28f6
mov edi, 0x401bf5c2
jmp 0x4228e0
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
lea ecx, [esp + 0x48]
push esi
push ecx
call fcn.004c85c0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
sub esp, 8
mov edx, esp
push edi
push ebx
mov dword [edx], eax
mov eax, dword [esp + 0x68]
push esi
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
call fcn.0041a0c0
add esp, 0x1c
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov esi, dword [esp + 0x14]
test esi, esi
je 0x422945
mov edi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call edi
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov edx, dword [esp + 0x5c]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret