Function at 0x404809
Capabilities:
Hash data using murmur3

Disassembly:
jl 0x40484e
add byte [ebx], dh
enter 0xffffffffffffdbf7, 0xffffffffffffffe8
and edx, esp
invalid
add byte [ecx + 0x5a2db6f3], al
scasb al, byte es:[edi]
push edi
push 0x10
push 0x111b
push dword [ebp - 4]
call esi
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_DeleteObject]
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + ebx*4]
cmp eax, edi
je 0x405433
cmp ebx, 0x20
je 0x405414
mov dword [ebp - 0x10], edi
push eax
push edi
call fcn.00406a01
push eax
push edi
push 0x143
push dword [ebp - 8]
call esi
push ebx
push eax
push 0x151
push dword [ebp - 8]
call esi
inc ebx
cmp ebx, 0x21
jl 0x405402
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x10]
push dword [ebx + eax*4 + 0x30]
push 0x15
push dword [ebp + 8]
call fcn.00404830
mov eax, dword [ebp - 0x10]
push dword [ebx + eax*4 + 0x34]
push 0x16
push dword [ebp + 8]
call fcn.00404830
xor ebx, ebx
cmp dword [0x43790c], edi
mov dword [ebp - 0xc], edi
jle 0x405539
mov eax, dword [ebp - 0x20]
lea edx, [eax + 8]
mov dword [ebp - 0x18], edx
lea eax, [edx + 0x10]
cmp word [eax], di
je 0x40551b
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx]
push 0x20
mov dword [ebp - 0x54], ecx
pop ecx
mov edx, eax
mov dword [ebp - 0x50], 0xffff0002
and edx, ecx
mov dword [ebp - 0x4c], 0xd
test al, 2
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x44], edx
je 0x4054eb
lea eax, [ebp - 0x54]
mov dword [ebp - 0x4c], 0x4d
push eax
push edi
push 0x1132
mov dword [ebp - 0x2c], 1
push dword [ebp - 4]
call esi
mov ecx, dword [0x42e3f0]
mov dword [ebp - 0x1c], 1
mov dword [ecx + ebx*4], eax
mov eax, dword [0x42e3f0]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0xc], eax
jmp 0x40551b
test al, 4
je 0x405503
push dword [ebp - 0xc]
push 3
push 0x110a
push dword [ebp - 4]
call esi
mov dword [ebp - 0xc], eax
jmp 0x40551b
lea eax, [ebp - 0x54]
push eax
push edi
push 0x1132
push dword [ebp - 4]
call esi
mov ecx, dword [0x42e3f0]
mov dword [ecx + ebx*4], eax
mov edx, dword [ebp - 0x18]
inc ebx
add edx, 0x818
cmp ebx, dword [0x43790c]
mov dword [ebp - 0x18], edx
jl 0x405478
cmp dword [ebp - 0x1c], edi
jne 0x405552
push 0xfffffffffffffff0
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
and al, 0xfb
push eax
push 0xfffffffffffffff0
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
cmp dword [ebp - 0x10], edi
jne 0x40556f
push 5
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp - 8]
call fcn.00404865
jmp 0x4058fd
push dword [ebp - 4]
call fcn.00404865
mov ebx, dword [ebp - 0x20]
cmp dword [ebp + 0xc], 0x405
jne 0x405595
xor ecx, ecx
mov dword [ebp + 0x10], edi
inc ecx
mov dword [ebp + 0xc], 0x40f
mov dword [ebp + 0x14], ecx
jmp 0x405598
mov ecx, dword [ebp + 0x14]
cmp dword [ebp + 0xc], 0x4e
mov eax, 0x413
je 0x4055ac
cmp dword [ebp + 0xc], eax
jne 0x405690
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0xc], ecx
je 0x4055c1
cmp dword [ecx + 4], 0x408
jne 0x405690
test byte [0x4378dd], 2
jne 0x405640
cmp dword [ebp + 0xc], eax
je 0x4055d8
mov ecx, dword [ebp + 0x14]
cmp dword [ecx + 8], 0xfffffffe
jne 0x405640
xor ecx, ecx
cmp dword [ebp + 0xc], eax
setne cl
push ecx
push dword [ebp - 4]
call fcn.00405247
cmp eax, edi
mov dword [ebp - 0x10], eax
jl 0x405640
imul eax, eax, 0x818
lea ecx, [eax + ebx + 8]
mov eax, dword [ecx]
test al, 0x10
jne 0x405640
test al, 0x40
je 0x405615
xor eax, 0x80
test al, al
jns 0x405611
or al, 1
jmp 0x405618
and al, 0xfe
jmp 0x405618
xor eax, 1
push dword [ebp - 0x10]
mov dword [ecx], eax
call fcn.0040117d
mov eax, dword [ebp - 0x10]
mov dword [ebp + 0xc], 0x40f
inc eax
mov dword [ebp + 0x10], eax
mov eax, dword [0x4378dc]
not eax
shr eax, 8
and eax, 1
mov dword [ebp + 0x14], eax
cmp dword [ebp - 0xc], edi
je 0x405690
mov eax, dword [ebp - 0xc]
cmp dword [eax + 8], 0xfffffe3d
jne 0x40565f
push dword [eax + 0x5c]
push edi
push 0x419
push dword [ebp - 4]
call esi
mov eax, dword [ebp - 0xc]
cmp dword [eax + 8], 0xfffffe39
jne 0x405690
cmp dword [eax + 0xc], 2
mov eax, dword [eax + 0x5c]
jne 0x405683
imul eax, eax, 0x818
lea eax, [eax + ebx + 8]
or dword [eax], 0x20
jmp 0x405690
imul eax, eax, 0x818
lea ebx, [eax + ebx + 8]
and dword [ebx], 0xffffffdf
cmp dword [ebp + 0xc], 0x111
jne 0x405708
cmp word [ebp + 0x10], 0x3f9
jne 0x4058fd
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cmp ax, 1
jne 0x4058fd
push edi
push edi
push 0x147
push dword [ebp - 8]
call esi
cmp eax, 0xffffffff
je 0x4058fd
push edi
push eax
push 0x150
push dword [ebp - 8]
call esi
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4056e5
mov eax, dword [ebp - 0x14]
cmp dword [eax + ebx*4], edi
jne 0x4056e8
push 0x20
pop ebx
push ebx
call fcn.00401299
push ebx
push edi
push 0x420
push dword [ebp + 8]
call esi
or dword [ebp + 0x10], 0xffffffff
mov dword [ebp + 0x14], edi
mov dword [ebp + 0xc], 0x40f
cmp dword [ebp + 0xc], 0x200
jne 0x40571d
push edi
push edi
push 0x200
push dword [ebp - 4]
call esi
cmp dword [ebp + 0xc], 0x40b
jne 0x405758
mov eax, dword [0x42dbdc]
cmp eax, edi
je 0x405736
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_Destroy]
mov eax, dword [0x42e3f0]
cmp eax, edi
je 0x405746
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x42dbdc], edi
mov dword [0x42e3f0], edi
mov dword [0x437940], edi
cmp dword [ebp + 0xc], 0x40f
jne 0x4058bf
push edi
push edi
call fcn.004011ef
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x405781
cmp eax, 0xffffffff
je 0x405779
dec eax
push eax
push 8
call fcn.004052c7
cmp dword [ebp + 0x14], edi
je 0x4057c5
push dword [0x42e3f0]
call fcn.004012e2
mov ebx, eax
push ebx
call fcn.00401299
xor eax, eax
xor ecx, ecx
cmp ebx, edi
jle 0x4057af
mov edx, dword [ebp - 0x14]
cmp dword [edx + eax*4], edi
je 0x4057aa
inc ecx
inc eax
cmp eax, ebx
ret
jl 0x4057a1
push edi
push ecx
push 0x14e
push dword [ebp - 8]
call esi
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0xc], 0x420
push edi
push edi
call fcn.004011ef
mov eax, dword [0x42e3f0]
cmp dword [0x43790c], edi
mov dword [ebp - 0x20], eax
mov eax, dword [0x437908]
mov dword [ebp - 0x3c], 0xf030
mov dword [ebp - 0x10], edi
jle 0x40588b
lea ebx, [eax + 8]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + ecx*4]
cmp eax, edi
je 0x405873
mov ecx, dword [ebx]
mov dword [ebp - 0x44], eax
test ch, 1
mov dword [ebp - 0x48], 8
je 0x405821
lea eax, [ebx + 0x10]
mov dword [ebp - 0x48], 9
mov dword [ebp - 0x38], eax
and byte [ebx + 1], 0xfe
test cl, 0x40
je 0x40582b
push 3
pop eax
jmp 0x405839
mov eax, ecx
and eax, 1
inc eax
test cl, 0x10
je 0x405839
add eax, 3
mov edx, ecx
push dword [ebp - 0x44]
shl eax, 0xb
and edx, 8
or eax, edx
mov edx, ecx
sar ecx, 5
add eax, eax
and edx, 0x20
and ecx, 1
or eax, edx
inc ecx
mov dword [ebp - 0x40], eax
push ecx
push 0x1102
push dword [ebp - 4]
call esi
lea eax, [ebp - 0x48]
push eax
push edi
push 0x113f
push dword [ebp - 4]
call esi
inc dword [ebp - 0x10]
add ebx, 0x818
mov eax, dword [ebp - 0x10]
cmp eax, dword [0x43790c]
jl 0x4057f2
cmp word [0x4378cc], 4
jne 0x4058a1
push 1
push edi
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [0x43689c]
cmp dword [eax + 0x10], edi
je 0x4058bf
push 5
call fcn.0040521a
push eax
push 0xfffffffffffffffb
push 0x3ff
call fcn.00405202
cmp dword [ebp + 0xc], 0x420
jne 0x4058fd
test byte [0x4378dd], 1
je 0x4058fd
xor eax, eax
cmp dword [ebp + 0x14], 0x20
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
sete al
shl eax, 3
mov edi, eax
push edi
push dword [ebp - 4]
call esi
push edi
push 0x3fe
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call esi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00404897
pop edi
pop esi
pop ebx
leave
ret 0x10