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

Disassembly:
push 0xffffffffffffffff
push 0x6f6970
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x831704]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x831704]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xa0]
push 0
mov dword [esp + 0x28], ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x98], 0
test esi, esi
jne 0x53f2ea
sub esp, 0x20
mov ecx, esp
push 0x721844
call fcn.00418040
push 6
call fcn.00439d10
add esp, 0x24
test al, al
je 0x53f586
call fcn.005c92f0
mov dword [esp + 0x28], eax
mov byte [esp + 0x98], 1
call fcn.005c92f0
mov dword [esp + 0x2c], eax
push 0xffffffffffffffff
lea eax, [esp + 0x34]
mov byte [esp + 0x9c], 2
push str._s__d_:__s_failed_with_error_0x_08lx___s_.
push eax
call fcn.00439000
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
push esi
mov byte [esp + 0xa8], 3
mov dword [esp + 0x54], 6
mov dword [esp + 0x5c], str....._srcmsw_toolbar.cpp
mov dword [esp + 0x64], str.wxToolBar::MapBitmap
mov dword [esp + 0x60], 0x828
mov dword [esp + 0x68], 0x721844
call dword [sym.imp.MSVCR120.dll__time64]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], esi
mov word [esp + 0x7c], ax
mov dword [esp + 0x94], eax
mov byte [esp + 0xa8], 4
call sub.KERNEL32.dll_GetLastError
push eax
call fcn.005e5210
add esp, 0x14
push eax
call sub.KERNEL32.dll_GetLastError
push eax
push 0x7225e4
push 0x828
push str....._srcmsw_toolbar.cpp
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x5c]
call fcn.00479740
push dword [esp + 0x84]
mov byte [esp + 0x9c], 3
call dword [sym.imp.MSVCR120.dll_free]
add esp, 4
cmp dword [esp + 0x80], 8
jb 0x53f2b1
push dword [esp + 0x6c]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
mov dword [esp + 0x80], 7
lea ecx, [esp + 0x4c]
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
call fcn.00439c40
lea ecx, [esp + 0x28]
mov byte [esp + 0x98], 0
call fcn.00420020
jmp 0x53f586
push ebx
push esi
mov dword [esp + 0x44], esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x40], eax
mov byte [esp + 0x98], 5
test eax, eax
jne 0x53f484
sub esp, 0x20
mov ecx, esp
push 0x721844
call fcn.00418040
push 6
call fcn.00439d10
add esp, 0x24
test al, al
je 0x53f57b
call fcn.005c92f0
mov dword [esp + 0x28], eax
mov byte [esp + 0x98], 6
call fcn.005c92f0
mov dword [esp + 0x2c], eax
push 0xffffffffffffffff
lea eax, [esp + 0x34]
mov byte [esp + 0x9c], 7
push str._s__d_:__s_failed_with_error_0x_08lx___s_.
push eax
call fcn.00439000
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
push 0
mov byte [esp + 0xa8], 8
mov dword [esp + 0x54], 6
mov dword [esp + 0x5c], str....._srcmsw_toolbar.cpp
mov dword [esp + 0x64], str.wxToolBar::MapBitmap
mov dword [esp + 0x60], 0x831
mov dword [esp + 0x68], 0x721844
call dword [sym.imp.MSVCR120.dll__time64]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
mov dword [esp + 0x94], eax
mov byte [esp + 0xa8], 9
call sub.KERNEL32.dll_GetLastError
push eax
call fcn.005e5210
add esp, 0x14
push eax
call sub.KERNEL32.dll_GetLastError
push eax
push 0x723694
push 0x831
push str....._srcmsw_toolbar.cpp
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x5c]
call fcn.00479740
push dword [esp + 0x84]
mov byte [esp + 0x9c], 8
call dword [sym.imp.MSVCR120.dll_free]
add esp, 4
cmp dword [esp + 0x80], 8
jb 0x53f44b
push dword [esp + 0x6c]
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
mov dword [esp + 0x80], 7
lea ecx, [esp + 0x4c]
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
call fcn.00439c40
lea ecx, [esp + 0x28]
mov byte [esp + 0x98], 5
call fcn.00420020
jmp 0x53f57b
call fcn.004a0aa0
mov ebx, eax
xor eax, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
cmp dword [esp + 0xa4], eax
jle 0x53f577
mov ecx, dword [esp + 0xa8]
lea esp, [esp]
xor ebp, ebp
test ecx, ecx
jle 0x53f565
lea ebx, [ebx]
push ebp
push eax
push esi
call dword [sym.imp.GDI32.dll_GetPixel]
mov dword [esp + 0x18], eax
xor ecx, ecx
mov edi, dword [esp + 0x18]
movzx eax, al
mov dword [esp + 0x20], eax
lea ebx, [ebx]
mov ebx, dword [ebx + ecx*8]
movzx edx, bl
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x53f528
mov eax, ebx
shr eax, 8
movzx edx, al
mov eax, edi
shr eax, 8
movzx eax, al
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jge 0x53f528
mov eax, edi
shr ebx, 0x10
shr eax, 0x10
movzx eax, al
movzx edx, bl
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xa
jl 0x53f538
mov ebx, dword [esp + 0x1c]
inc ecx
cmp ecx, 4
jae 0x53f551
mov eax, dword [esp + 0x20]
jmp 0x53f4e0
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + ecx*8 + 4]
cmp eax, edi
je 0x53f551
push eax
push ebp
push dword [esp + 0x1c]
push esi
call dword [sym.imp.GDI32.dll_SetPixel]
mov ecx, dword [esp + 0xa8]
inc ebp
mov eax, dword [esp + 0x14]
cmp ebp, ecx
jl 0x53f4c0
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0xa4]
jl 0x53f4b0
mov ebx, dword [esp + 0x24]
push dword [esp + 0x40]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, ebx
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.006d1ba7
add esp, 0x88
ret