Function at 0x452b45
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub esp, 0x2f8
push ebx
push esi
push edi
mov esi, ecx
mov bx, word [esp + 0x310]
push 5
push dword [esp + 0x310]
push dword [0x489ab0]
call dword [sym.imp.KERNEL32.DLL_FindResourceA]
test eax, eax
mov dword [esp + 0x50], eax
jne 0x452b83
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x2f8
ret 0xc
push 1
call fcn.00452aee
lea edi, [esi + 0x70]
mov ecx, dword [edi]
and cl, 0xfe
mov edx, ebx
and edx, 1
or ecx, edx
mov dword [edi], ecx
push dword [esp + 0x54]
push dword [0x489ab0]
call dword [sym.imp.KERNEL32.DLL_LoadResource]
push eax
call dword [sym.imp.KERNEL32.DLL_LockResource]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
add esp, 4
cmp dword [esp + 0x50], 0
je 0x452c35
push dword [esp + 0x50]
push dword [0x489ab0]
call dword [sym.imp.KERNEL32.DLL_SizeofResource]
mov dword [esp + 0x5c], eax
push eax
push 0x40
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
mov dword [esp + 0x58], eax
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalLock]
mov edi, eax
push dword [esp + 0x5c]
push dword [esp + 0x58]
push edi
call fcn.00471320
mov dword [esp + 0x60], eax
add esp, 0xc
test bx, bx
je 0x452c1b
and dword [eax], 0x40
or dword [eax], 0x40000400
test byte [0x491a0c], 0x10
je 0x452c35
mov ecx, dword [esp + 0x54]
or byte [ecx], 4
lea eax, [esi + 0x70]
mov ecx, dword [eax]
or cl, 0x20
mov dword [eax], ecx
push 0
push sym.IGE.EXE_short_int___stdcall_dlgcallback_struct_HWND_____unsigned_int__unsigned_int__long_int_
push dword [esp + 0x310]
push dword [esp + 0x60]
push dword [0x489ab0]
call dword [sym.imp.USER32.DLL_CreateDialogIndirectParamA]
mov dword [esi + 4], eax
test eax, eax
je 0x4538db
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx]
mov dword [esp + 0x60], edx
mov cx, word [ecx + 8]
mov word [esp + 0x64], cx
add dword [esp + 0x54], 0x12
lea ecx, [esp + 0x68]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], 0
xor edx, edx
mov word [esp + 0x170], dx
mov word [esp + 0x172], dx
push ecx
push dword [esp + 0x58]
call fcn.00454f7a
add esp, 4
push eax
call fcn.00454f7a
add esp, 4
push eax
call fcn.00454f39
mov dword [esp + 0x5c], eax
mov word [esp + 0x17c], 0
add esp, 8
cmp byte [esp + 0x68], 0
je 0x452e0e
cmp byte [esp + 0x68], 0x2c
je 0x452e0e
lea ecx, [esi + 0x70]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ecx
mov edi, ecx
mov ecx, dword [esp + 0x168]
inc dword [esp + 0x168]
movsx eax, byte [ecx]
cmp eax, 0x2a
je 0x452d4c
cmp eax, 0x33
je 0x452d6c
cmp eax, 0x41
je 0x452d71
cmp eax, 0x4b
je 0x452d7a
cmp eax, 0x4d
je 0x452d86
cmp eax, 0x4e
je 0x452d8f
cmp eax, 0x4f
je 0x452d98
cmp eax, 0x50
je 0x452da1
cmp eax, 0x52
je 0x452daa
cmp eax, 0x54
je 0x452db4
cmp eax, 0x58
je 0x452dc0
jmp 0x452dca
test bx, bx
mov ecx, 0
jne 0x452d60
lea edx, [esi + 0x54]
mov ecx, dword [edx]
add dword [edx], 4
mov ecx, dword [ecx]
mov dword [esp + 0x16c], ecx
jmp 0x452ded
or byte [edi], 0x20
jmp 0x452ded
mov ecx, dword [esp + 0xc]
or byte [ecx], 4
jmp 0x452ded
mov word [esp + 0x170], 1
jmp 0x452ded
mov ecx, dword [esp + 0x10]
and byte [ecx], 0x7f
jmp 0x452ded
mov ecx, dword [esp + 0x14]
and byte [ecx], 0xfd
jmp 0x452ded
mov ecx, dword [esp + 0x18]
or byte [ecx], 8
jmp 0x452ded
mov ecx, dword [esp + 0x1c]
or byte [ecx], 0x10
jmp 0x452ded
mov ecx, dword [esp + 0x20]
or byte [ecx + 1], 2
jmp 0x452ded
mov word [esp + 0x172], 1
jmp 0x452ded
mov ecx, dword [esp + 0x24]
and byte [ecx + 1], 0xfe
jmp 0x452ded
mov ecx, dword [esp + 0x168]
movsx ecx, byte [ecx - 1]
push ecx
push 0x491aeb
call fcn.00455073
mov word [esp + 0x17c], 1
add esp, 8
cmp word [esp + 0x174], 0
jne 0x452e0e
mov ecx, dword [esp + 0x168]
mov cl, byte [ecx]
test cl, cl
je 0x452e0e
cmp cl, 0x2c
jne 0x452d02
lea edi, [esi + 0x70]
mov ecx, dword [edi]
shr ecx, 9
and ecx, 1
mov edx, dword [esp + 0x60]
test edx, 0x40000
mov eax, 1
jne 0x452e2f
xor eax, eax
or ecx, eax
and ecx, 1
shl ecx, 9
mov eax, dword [edi]
and ah, 0xfd
or ecx, eax
mov dword [edi], ecx
cmp dword [esp + 0x16c], 0
je 0x452e8d
push 1
push dword [esp + 0x170]
lea eax, [esp + 0x70]
push eax
call fcn.0047165c
add esp, 8
push eax
call fcn.00436cc5
add esp, 8
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
mov eax, dword [esp + 0x60]
or eax, 0xc00000
push eax
push 0xfffffffffffffff0
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_SetWindowLongA]
jmp 0x452edb
mov eax, dword [esp + 0x168]
cmp byte [eax], 0x2c
jne 0x452ebb
inc eax
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
mov eax, dword [esp + 0x60]
or eax, 0xc00000
push eax
push 0xfffffffffffffff0
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_SetWindowLongA]
jmp 0x452edb
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
mov eax, dword [esp + 0x60]
and eax, 0xff3fffff
push eax
push 0xfffffffffffffff0
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_SetWindowLongA]
cmp word [esp + 0x172], 0
je 0x452eff
test byte [0x491a0d], 0x10
je 0x452eff
push 0x80
push 0xffffffffffffffec
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_SetWindowLongA]
test byte [esp + 0x60], 0x40
je 0x452f1a
mov eax, dword [esp + 0x54]
add eax, 2
push eax
call fcn.00454f7a
mov dword [esp + 0x58], eax
add esp, 4
mov dword [esp + 0x178], 0
cmp word [esp + 0x174], 1
sbb eax, eax
neg eax
je 0x45389d
cmp word [esp + 0x64], 0
je 0x45389d
lea ecx, [esi + 4]
mov dword [esp + 0x28], ecx
lea ecx, [esi + 0x70]
mov dword [esp + 0x2c], ecx
lea ecx, [esi + 0x30]
mov dword [esp + 0x300], ecx
mov dword [esp + 0x30], eax
mov edx, ecx
lea eax, [ecx + 0x18]
mov dword [esp + 0x34], eax
lea eax, [edx + 0xc]
mov dword [esp + 0x38], eax
push dword [esp + 0x54]
call fcn.00454ef5
mov dword [esp + 0x58], eax
mov ecx, dword [eax]
mov dword [esp + 0x180], ecx
mov cx, word [esp + 0x180]
and cx, 0xf
mov word [esp + 0x184], cx
movzx ecx, word [eax + 0x10]
push ecx
mov ecx, dword [esp + 0x30]
push dword [ecx]
call dword [sym.imp.USER32.DLL_GetDlgItem]
mov edi, eax
add dword [esp + 0x58], 0x12
lea ecx, [esp + 0x188]
push ecx
lea ecx, [esp + 0x28c]
push ecx
lea ecx, [esp + 0x18e]
push ecx
push dword [esp + 0x64]
call fcn.00454eff
add esp, 0xc
push eax
call fcn.00454f39
mov dword [esp + 0x60], eax
add dword [esp + 0x60], 2
add esp, 0xc
xor ebx, ebx
mov bl, byte [esp + 0x184]
mov dword [esp + 0x2a4], ebx
sub ebx, 0x80
cmp ebx, 0x25
ja case.0x453008.137
jmp dword [ebx*4 + 0x491b28]
push 0x3c
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2a8], eax
je 0x45303c
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0046dc34
mov dword [esp + 0x2a8], eax
mov ebx, dword [esp + 0x2a8]
jmp 0x4537f2
push 0x34
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2ac], eax
je 0x453077
push 0x53
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0046322d
mov dword [esp + 0x2ac], eax
mov ebx, dword [esp + 0x2ac]
jmp 0x4537f2
push 0x34
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2b0], eax
je 0x4530b2
push 0x4c
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0046322d
mov dword [esp + 0x2b0], eax
mov ebx, dword [esp + 0x2b0]
jmp 0x4537f2
push 0x40
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2b4], eax
je 0x4530ed
push 0x46
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00463a60
mov dword [esp + 0x2b4], eax
mov ebx, dword [esp + 0x2b4]
jmp 0x4537f2
push 0x40
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2b8], eax
je 0x453128
push 0x44
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00463a60
mov dword [esp + 0x2b8], eax
mov ebx, dword [esp + 0x2b8]
jmp 0x4537f2
push 0x40
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2bc], eax
je 0x453163
push 0x41
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00463a60
mov dword [esp + 0x2bc], eax
mov ebx, dword [esp + 0x2bc]
jmp 0x4537f2
push 0x2c
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c0], eax
je 0x45319c
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00462bd6
mov dword [esp + 0x2c0], eax
mov ebx, dword [esp + 0x2c0]
jmp 0x4537f2
push 0x20
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c4], eax
je 0x4531d5
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.004630c7
mov dword [esp + 0x2c4], eax
mov ebx, dword [esp + 0x2c4]
jmp 0x4537f2
push 0x2c
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x45320e
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0046ba1c
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x34
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x453247
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0046c1af
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x5c
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x453280
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0046ccd4
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x30
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x4532bb
push 0x53
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00461cd7
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x30
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x4532f6
push 0x4c
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00461cd7
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x34
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x453331
push 0x46
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00461ed9
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x34
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x45336c
push 0x44
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00461ed9
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x34
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x4533a7
push 0x41
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00461ed9
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x30
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x4533e0
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.004668a9
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x2c
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x453419
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0045f0ae
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x2c
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x453452
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00460969
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x38
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x45348b
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0046b5f8
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x34
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x4534c4
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0045ddb4
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x1c
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x4534fd
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00467f27
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x38
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x453536
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0045b4f7
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x88
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x453572
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00469388
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x40
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x4535ab
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0046843c
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
push 0x3c
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2c8], eax
je 0x4535e4
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00458ace
mov dword [esp + 0x2c8], eax
mov ebx, dword [esp + 0x2c8]
jmp 0x4537f2
mov ecx, dword [esp + 0x178]
mov dword [esp + 0x2c8], ecx
test dword [esp + 0x17c], 0x20000
je 0x4536a4
xor ebx, ebx
push 2
push edi
call dword [sym.imp.USER32.DLL_GetWindow]
test eax, eax
mov dword [esp + 0x2cc], eax
je 0x4536a4
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.DLL_GetWindowLongA]
mov ebx, eax
mov ecx, eax
and ecx, 0xf
movzx edx, word [esp + 0x180]
cmp ecx, edx
jne 0x4536a4
test ebx, 0x20000
jne 0x4536a4
inc dword [esp + 0x178]
push dword [esp + 0x54]
call fcn.00454faa
mov dword [esp + 0x58], eax
add esp, 4
push 2
push dword [esp + 0x2d0]
call dword [sym.imp.USER32.DLL_GetWindow]
test eax, eax
mov dword [esp + 0x2cc], eax
je 0x4536a4
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.DLL_GetWindowLongA]
mov ebx, eax
mov ecx, eax
and ecx, 0xf
movzx edx, word [esp + 0x180]
cmp ecx, edx
jne 0x4536a4
test ebx, 0x20000
je 0x45364c
cmp dword [esp + 0x2a4], 0x90
jne 0x453749
mov ecx, dword [esp + 0x178]
sub ecx, dword [esp + 0x2c8]
test ecx, ecx
jle 0x453710
push 0x40
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2d0], eax
je 0x453704
mov ecx, dword [esp + 0x178]
inc ecx
sub ecx, dword [esp + 0x2c8]
push ecx
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0045ab2c
mov dword [esp + 0x2d0], eax
mov ebx, dword [esp + 0x2d0]
jmp 0x4537f2
push 0x38
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2d4], eax
je 0x45373d
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0045986a
mov dword [esp + 0x2d4], eax
mov ebx, dword [esp + 0x2d4]
jmp 0x4537f2
mov ecx, dword [esp + 0x178]
sub ecx, dword [esp + 0x2c8]
test ecx, ecx
jle 0x4537a1
push 0x40
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2d8], eax
je 0x453798
mov ecx, dword [esp + 0x178]
inc ecx
sub ecx, dword [esp + 0x2c8]
push ecx
lea ecx, [esp + 0x189]
push ecx
push edi
push esi
mov ecx, eax
call fcn.00458db2
mov dword [esp + 0x2d8], eax
mov ebx, dword [esp + 0x2d8]
jmp 0x4537f2
push 0x38
call fcn.00472b58
add esp, 4
test eax, eax
mov dword [esp + 0x2dc], eax
je 0x4537ce
lea ecx, [esp + 0x185]
push ecx
push edi
push esi
mov ecx, eax
call fcn.0045843c
mov dword [esp + 0x2dc], eax
mov ebx, dword [esp + 0x2dc]
jmp 0x4537f2
lea ecx, [esp + 0x185]
push ecx
push edi
push dword [esp + 0x2ac]
push esi
call fcn.004121cc
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x45387d
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x453806
mov ecx, 0x491a7e
cmp byte [ecx], 0
jne 0x453837
mov ecx, ebx
mov edx, dword [ebx]
call dword [edx + 0x1c]
push eax
push 0x491b22
lea ecx, [esp + 0x2e8]
push ecx
call fcn.0047182c
lea ecx, [esp + 0x2ec]
push ecx
mov ecx, ebx
call fcn.0045d403
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
shr ecx, 5
test cl, 1
je 0x45384c
or dword [ebx + 0x18], 0x200000
push ebx
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x453859
mov ecx, 0x491a7e
push ecx
mov ecx, dword [esp + 0x308]
call fcn.00432c02
cmp word [esp + 0x170], 0
je 0x45387d
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
inc dword [esp + 0x178]
cmp dword [esp + 0x30], 0
je 0x45389d
movzx eax, word [esp + 0x64]
cmp eax, dword [esp + 0x178]
jg 0x452f70
cmp word [esp + 0x174], 0
je 0x4538db
push dword [0x49b3e0]
lea eax, [esi + 4]
push dword [eax]
mov dword [esp + 0x54], eax
call dword [sym.imp.USER32.DLL_RemovePropA]
mov eax, dword [esp + 0x4c]
push dword [eax]
call dword [sym.imp.USER32.DLL_DestroyWindow]
lea ecx, [esi + 0x30]
call fcn.00432875
mov eax, dword [esp + 0x4c]
mov dword [eax], 0
cmp dword [esp + 0x58], 0
je 0x4538f6
push dword [esp + 0x58]
call dword [sym.imp.KERNEL32.DLL_GlobalUnlock]
push dword [esp + 0x58]
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
push 0
call fcn.00452aee
add esp, 4
mov eax, dword [esi + 4]
neg eax
sbb eax, eax
neg eax
pop edi
pop esi
pop ebx
add esp, 0x2f8
ret 0xc