Function at 0x47aed0
Capabilities:
Capture screenshot
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xb8
xor eax, eax
push ebx
xor ebx, ebx
mov dword [esp + 0x80], eax
push ebp
mov dword [esp + 0x88], eax
push esi
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
push edi
mov edi, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x9c], eax
mov eax, dword [edi + 4]
cmp eax, ebx
mov dword [esp + 0x84], edx
mov esi, 1
mov byte [esp + 0x3b], bl
mov dword [esp + 0x60], ebx
mov byte [esp + 0x2f], bl
mov byte [esp + 0x12], bl
mov dword [esp + 0x64], ebx
mov byte [esp + 0x10], bl
mov byte [esp + 0x11], bl
mov byte [esp + 0x13], 1
mov byte [esp + 0x3a], bl
mov dword [esp + 0x58], 0xcc0020
mov dword [esp + 0x68], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x18], ebx
mov ebp, 2
je 0x47b0b4
cmp byte [eax], 0x2d
jne 0x47b0b4
push 0x68
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47af94
mov byte [esp + 0x3b], 1
mov ecx, dword [edi + 4]
push 0x69
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47afae
mov dword [esp + 0x58], 0xbb0226
mov edx, dword [edi + 4]
push 0x6e
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47afc5
mov byte [esp + 0x13], 0
mov eax, dword [edi + 4]
push 0x63
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47afdc
mov byte [esp + 0x10], 1
mov ecx, dword [edi + 4]
push 0x73
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47aff3
mov byte [esp + 0x2f], 1
mov edx, dword [edi + 4]
push 0x74
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47b00a
mov byte [esp + 0x11], 1
mov eax, dword [edi + 4]
push 0x6c
push eax
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47b021
mov byte [esp + 0x12], 1
mov ecx, dword [edi + 4]
push 0x6d
push ecx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47b03b
mov dword [esp + 0x60], 1
mov edx, dword [edi + 4]
push 0x6f
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x47b055
mov dword [esp + 0x34], 1
mov eax, dword [edi + 4]
push 0x67
push eax
call fcn.005912e0
add esp, 8
cmp eax, ebx
je 0x47b0b2
lea esi, [eax + 1]
mov al, byte [esi]
test al, al
mov dword [esp + 0x18], ebp
je 0x47b0b2
movzx ecx, al
push ecx
call fcn.005920a7
add esp, 4
test eax, eax
je 0x47b0b2
push esi
call fcn.0059164b
add esp, 4
cmp eax, 1
jne 0x47b098
mov dword [esp + 0x18], eax
jmp 0x47b0b2
cmp eax, ebp
jne 0x47b0a2
mov dword [esp + 0x18], ebp
jmp 0x47b0b2
xor edx, edx
cmp eax, 3
setne dl
dec edx
and edx, 4
mov dword [esp + 0x18], edx
mov esi, ebp
mov ecx, dword [edi + esi*4]
cmp ecx, ebx
jne 0x47b0dc
mov al, byte [esp + 0x10]
test al, al
je 0x47bafe
call fcn.0047ae90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xb8
ret
xor edx, edx
call fcn.004f11f0
cmp eax, ebx
mov dword [esp + 0x50], eax
je 0x47bb01
cmp dword [eax + 0x87c], ebx
je 0x47bb01
cmp dword [eax + 0x758], ebx
je 0x47bb01
cmp dword [eax + 0x960], ebx
je 0x47bb01
cmp dword [eax + 0x71c], 9
jne 0x47bb01
mov cl, byte [esp + 0x3b]
test cl, cl
je 0x47b133
mov ecx, dword [eax]
call fcn.00499b50
mov eax, dword [esp + 0x50]
mov ecx, dword [edi + esi*4 + 4]
inc esi
cmp ecx, ebx
jne 0x47b15f
mov cl, byte [esp + 0x13]
test cl, cl
je 0x47bafe
mov ecx, eax
call fcn.00477e90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xb8
ret
mov al, byte [esp + 0x11]
test al, al
je 0x47b175
push ecx
call fcn.005915c3
add esp, 4
mov dword [esp + 0x64], eax
inc esi
mov eax, dword [edi + esi*4]
cmp eax, ebx
je 0x47bafe
cmp dword [edi + esi*4 + 4], ebx
je 0x47bafe
push eax
call fcn.0059164b
mov dword [esp + 0x20], eax
mov eax, dword [edi + esi*4 + 4]
push eax
call fcn.0059164b
mov dword [esp + 0x28], eax
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov al, byte [esp + 0x37]
add esp, 8
add esi, 2
test al, al
je 0x47b1f2
mov ecx, dword [edi + esi*4]
cmp ecx, ebx
je 0x47b1f2
call fcn.00503910
test eax, eax
je 0x47b1f2
cmp dword [edi + esi*4 + 4], ebx
je 0x47b1f2
mov ecx, dword [edi + esi*4]
push ecx
call fcn.0059164b
mov edx, dword [edi + esi*4 + 4]
push edx
mov dword [esp + 0x2c], eax
call fcn.0059164b
add esp, 8
mov dword [esp + 0x28], eax
add esi, 2
mov ecx, dword [edi + esi*4]
cmp ecx, ebx
je 0x47b255
call fcn.00503910
test eax, eax
je 0x47b255
cmp dword [edi + esi*4 + 4], ebx
je 0x47b255
cmp dword [edi + esi*4 + 8], ebx
je 0x47b255
cmp dword [edi + esi*4 + 0xc], ebx
je 0x47b255
mov eax, dword [edi + esi*4]
push eax
call fcn.0059164b
mov ecx, dword [edi + esi*4 + 4]
push ecx
mov dword [esp + 0x48], eax
call fcn.0059164b
mov edx, dword [edi + esi*4 + 8]
push edx
mov dword [esp + 0x50], eax
call fcn.0059164b
mov ebp, eax
mov eax, dword [edi + esi*4 + 0xc]
push eax
mov dword [esp + 0x58], ebp
call fcn.0059164b
add esp, 0x10
mov dword [esp + 0x4c], eax
add esi, 4
jmp 0x47b26a
xor eax, eax
or ebp, 0xffffffff
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov ecx, dword [edi + esi*4]
test ecx, ecx
je 0x47b2a7
mov eax, dword [esp + 0x34]
test eax, eax
je 0x47b2bf
call fcn.00503910
test eax, eax
je 0x47b2bf
mov ecx, dword [edi + esi*4]
push ecx
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [esp + 0x34], eax
jge 0x47b29e
mov dword [esp + 0x34], 0
mov eax, dword [edi + esi*4 + 4]
inc esi
test eax, eax
jne 0x47b2bf
mov edx, dword [edi]
push 0
push 0
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
mov edx, dword [esp + 0x84]
push 0
push 0x104
push edx
mov edx, esi
mov ecx, edi
call fcn.00504590
test eax, eax
jl 0x47b2ef
mov esi, dword [esp + 0x84]
mov edx, esi
mov ecx, esi
call fcn.0041f5c0
test eax, eax
jne 0x47b307
mov edx, dword [edi]
push 3
push 0
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret
mov ecx, esi
call fcn.004235e0
test eax, eax
mov ecx, esi
jne 0x47b353
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
push eax
call fcn.00421850
test eax, eax
mov dword [esp + 0x3c], eax
je 0x47b34a
lea ecx, [esp + 0x8c]
push ecx
mov edx, eax
push edx
call dword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
jne 0x47b36f
mov eax, dword [esp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov ecx, dword [edi]
push esi
push ecx
jmp 0x47b439
mov al, byte [esp + 0x10]
test al, al
je 0x47b3cc
xor edx, edx
call fcn.0047ae30
test eax, eax
mov dword [esp + 0x14], eax
je 0x47b3d6
mov byte [esp + 0x3a], 1
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x87c]
push edx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
mov dword [esp + 0x5c], esi
jne 0x47b461
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47b39d
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, dword [esp + 0x98]
test eax, eax
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
je 0x47b3b1
push eax
call esi
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x47b3bf
push eax
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb8
ret
mov edx, 1
call fcn.0047ae30
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
push edx
mov edx, dword [eax]
mov ecx, esi
call fcn.00423640
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x47b36f
lea esp, [esp]
mov eax, dword [0x5cba14]
test eax, eax
je 0x47b435
call fcn.0047acf0
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov edx, dword [edx]
push ecx
mov ecx, esi
call fcn.00423640
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47b400
jmp 0x47b36f
mov eax, dword [edi]
push esi
push eax
xor edx, edx
mov ecx, 0x835
call fcn.0041f1a0
push eax
push 0x5cbac0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb8
ret
mov eax, dword [esp + 0x3c]
test eax, eax
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
je 0x47b489
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0xb0]
push eax
push 0x18
push ecx
call dword [sym.imp.GDI32.dll_GetObjectA]
jmp 0x47b4c1
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
test eax, eax
mov dword [esp + 0x30], eax
je 0x47ba21
mov edx, dword [esp + 0x14]
push edx
push eax
call edi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xb0]
push ecx
push 0x18
push edx
mov dword [esp + 0x74], eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov esi, dword [esp + 0x5c]
push esi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebx, eax
test ebx, ebx
je 0x47ba12
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x960]
push ecx
push ebx
call edi
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x24]
or edx, 0xffffffff
cmp eax, edx
mov eax, dword [esp + 0xb8]
jne 0x47b52a
cmp esi, edx
jne 0x47b52a
cmp ebp, edx
jne 0x47b51e
cmp dword [esp + 0x4c], edx
jne 0x47b51e
mov esi, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
jmp 0x47b534
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
cmp ebp, edx
jne 0x47b53e
cmp dword [esp + 0x4c], edx
jne 0x47b53e
mov ebp, ecx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], eax
mov al, byte [esp + 0x11]
test al, al
mov eax, dword [esp + 0x3c]
je 0x47b7f3
test eax, eax
jne 0x47b7f3
mov edx, dword [esp + 0x5c]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
test eax, eax
mov dword [esp + 0x54], eax
je 0x47ba21
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
push eax
push ebp
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test eax, eax
mov dword [esp + 0x6c], eax
je 0x47ba21
mov esi, dword [esp + 0x54]
mov edx, eax
push edx
push esi
call edi
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
push 0xcc0020
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x54]
push ecx
push edx
push eax
push ebp
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x70]
push ecx
push esi
call edi
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x30]
push edx
push eax
call edi
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x30]
push ecx
push edx
call edi
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x64]
push eax
push ecx
mov ecx, dword [esp + 0x38]
push ebp
mov edx, esi
call fcn.0047d1e0
test eax, eax
mov dword [esp + 0x70], eax
je 0x47ba21
push 0
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xffffff
push ebx
mov dword [esp + 0x6c], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov dword [esp + 0x58], eax
mov al, byte [esp + 0x12]
test al, al
je 0x47b750
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xa0], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x80], ecx
add ecx, eax
cmp eax, ecx
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x34], ecx
jg 0x47b7d6
add edx, esi
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x34]
lea edx, [edi + eax]
cmp edx, ecx
jle 0x47b69d
mov edi, dword [esp + 0x28]
sub edi, eax
add edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov esi, dword [esp + 0x48]
mov ebp, ecx
jg 0x47b72d
jmp 0x47b6b5
mov ecx, dword [esp + 0x1c]
lea edx, [esi + ebp]
cmp edx, eax
jle 0x47b6c4
mov esi, dword [esp + 0x24]
sub esi, ebp
add esi, ecx
cmp dword [esp + 0x60], 1
mov ecx, ebx
jne 0x47b6d4
push edi
push esi
push edi
mov edx, esi
jmp 0x47b6dc
push 0
push 0
push 0
xor edx, edx
call fcn.0041c150
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x78]
push 0x8800c6
push edi
push esi
push 0
push 0
push eax
push edi
push esi
push ecx
push ebp
push ebx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x78]
push 0xee0086
push edi
push esi
push 0
push 0
push edx
push edi
push esi
push eax
push ebp
push ebx
call dword [sym.imp.GDI32.dll_StretchBlt]
test esi, esi
jle 0x47b72d
mov eax, dword [esp + 0x18]
add ebp, esi
cmp ebp, eax
jle 0x47b6b1
test edi, edi
jle 0x47b7d6
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x34]
add eax, edi
cmp eax, ecx
mov dword [esp + 0x78], eax
jle 0x47b684
jmp 0x47b7d6
cmp dword [esp + 0x60], 1
jne 0x47b771
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
push esi
push ebp
push ecx
mov edx, edi
mov ecx, ebx
call fcn.0041c150
jmp 0x47b788
push 0
push 0
push 0
xor edx, edx
mov ecx, ebx
call fcn.0041c150
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push 0x8800c6
push esi
push ebp
push 0
push 0
push edx
mov edx, dword [esp + 0x34]
push eax
push edi
push ecx
push edx
push ebx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push 0xee0086
push esi
push ebp
push 0
push 0
push eax
mov eax, dword [esp + 0x34]
push ecx
push edi
push edx
push eax
push ebx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [esp + 0x64]
push ecx
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [esp + 0x58]
push edx
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
jmp 0x47b9a8
mov cl, byte [esp + 0x12]
test cl, cl
je 0x47b930
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa0], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x80], esi
add esi, eax
cmp eax, esi
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x34], esi
jg 0x47b9a8
add ecx, edx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x34]
lea ecx, [edi + eax]
cmp ecx, edx
jle 0x47b86c
mov edi, dword [esp + 0x28]
sub edi, eax
add edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x18]
mov esi, dword [esp + 0x48]
mov ebp, eax
jg 0x47b910
jmp 0x47b886
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
lea edx, [esi + ebp]
cmp edx, ecx
jle 0x47b899
mov esi, dword [esp + 0x24]
sub esi, ebp
add esi, eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47b8b9
mov ecx, dword [esp + 0x78]
push 3
push 0
push 0
push edi
push esi
push eax
push ecx
push ebp
push ebx
call dword [sym.imp.USER32.dll_DrawIconEx]
jmp 0x47b8fe
cmp dword [esp + 0x60], 1
mov ecx, ebx
jne 0x47b8c9
push edi
push esi
push edi
mov edx, esi
jmp 0x47b8d1
push 0
push 0
push 0
xor edx, edx
call fcn.0041c150
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x34]
push edi
push esi
push eax
mov eax, dword [esp + 0x88]
push ecx
push edx
push edi
push esi
push eax
push ebp
push ebx
call dword [sym.imp.GDI32.dll_StretchBlt]
test esi, esi
jle 0x47b910
mov eax, dword [esp + 0x18]
add ebp, esi
cmp ebp, eax
jle 0x47b882
test edi, edi
jle 0x47b9a8
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x34]
add eax, edi
cmp eax, ecx
mov dword [esp + 0x78], eax
jle 0x47b853
jmp 0x47b9a8
test eax, eax
je 0x47b954
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push 3
push 0
push 0
push esi
push ecx
push eax
mov eax, dword [esp + 0x34]
push edx
push eax
push ebx
call dword [sym.imp.USER32.dll_DrawIconEx]
jmp 0x47b9a8
cmp dword [esp + 0x60], 1
jne 0x47b968
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
push ecx
push ebp
push esi
jmp 0x47b970
push 0
push 0
push 0
xor edx, edx
mov ecx, ebx
call fcn.0041c150
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x38]
push ebp
push ecx
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push esi
push ecx
push edx
push eax
push ebx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov al, byte [esp + 0x13]
test al, al
je 0x47b9d7
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push 0xcc0020
push ecx
push eax
push ebx
push edx
mov edx, dword [esp + 0x38]
push edx
push ecx
push eax
mov eax, dword [esp + 0x7c]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x50]
cmp eax, dword [ecx + 0x96c]
jle 0x47b9f4
mov dword [ecx + 0x96c], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
add eax, edx
cmp eax, dword [ecx + 0x970]
jle 0x47ba12
mov dword [ecx + 0x970], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x47ba21
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, dword [esp + 0x98]
test eax, eax
mov ebp, dword [sym.imp.GDI32.dll_DeleteObject]
je 0x47ba35
push eax
call ebp
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x47ba43
push eax
call ebp
mov esi, dword [esp + 0x54]
test esi, esi
je 0x47ba61
mov eax, dword [esp + 0x70]
test eax, eax
je 0x47ba5a
push eax
push esi
call edi
push eax
call ebp
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
test ebx, ebx
je 0x47ba7b
mov eax, dword [esp + 0x88]
test eax, eax
je 0x47ba74
push eax
push ebx
call edi
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov esi, dword [esp + 0x30]
test esi, esi
je 0x47baa1
mov eax, dword [esp + 0x68]
test eax, eax
je 0x47ba9a
push eax
push esi
call edi
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x47ba9a
push eax
call ebp
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov al, byte [esp + 0x3a]
test al, al
jne 0x47bad8
mov al, byte [esp + 0x10]
test al, al
je 0x47bac5
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x84]
call fcn.0047ad70
test eax, eax
jne 0x47bad8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47bad0
push eax
call ebp
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x87c]
push eax
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xb8
ret
push ebx
jmp 0x47bb03
push 7
mov edx, dword [edi]
push ebx
xor ecx, ecx
call fcn.004803b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret