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

Disassembly:
sub esp, 0x64
mov eax, dword [0x547570]
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ecx, 0x554e48
mov dword [esp + 0x48], edi
test ecx, ecx
mov dword [esp + 0x10], eax
je 0x4e873d
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push ecx
call ebx
mov esi, eax
test esi, esi
je 0x4e8743
push esi
lea ecx, [esp + 0x14]
call fcn.00405530
test eax, eax
je 0x4e8743
mov edx, dword [esp + 0x10]
inc esi
push esi
push 0x554e48
push edx
call fcn.00405400
add esp, 0xc
lea ecx, [esp + 0x10]
push 0xffffffffffffffff
call fcn.00405bb0
jmp 0x4e8743
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0x7c]
mov eax, dword [0x547570]
push ecx
lea edx, [esp + 0x50]
push 0x548b44
push edx
mov dword [esp + 0x58], eax
call fcn.00405cb0
mov eax, dword [esp + 0x8c]
add esp, 0xc
lea edx, [esp + 0x4c]
push eax
push ecx
mov ecx, esp
push edx
call fcn.00405440
mov ecx, dword [edi + 0xf0]
lea eax, [esp + 0x4c]
push eax
call fcn.0049d380
mov ecx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esi]
cmp ecx, eax
je 0x4e87d8
mov edx, dword [ecx - 0xc]
test edx, edx
jge 0x4e87a8
mov edx, dword [0x547574]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x4e87af
mov ecx, dword [eax - 0xc]
test ecx, ecx
jge 0x4e87bf
mov ecx, dword [eax - 8]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00405870
jmp 0x4e87d8
lea ecx, [esp + 0x10]
call fcn.004124c0
mov esi, dword [esi]
mov dword [esp + 0x10], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x44]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4e8807
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4e8807
mov eax, dword [esp + 0x44]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
mov ecx, dword [edi + 0x47c]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x1304
push ecx
call esi
mov edx, dword [edi + 0x47c]
push 0
push 0
mov ebp, eax
push 0x130b
push edx
mov dword [esp + 0x80], ebp
call esi
mov dword [esp + 0x5c], eax
mov eax, dword [0x547570]
mov ecx, 0x54dbfc
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x4e8886
push ecx
call ebx
mov esi, eax
test esi, esi
je 0x4e8886
push esi
lea ecx, [esp + 0x1c]
call fcn.00405530
test eax, eax
je 0x4e8886
mov edx, dword [esp + 0x18]
inc esi
push esi
push 0x54dbfc
push edx
call fcn.00405400
add esp, 0xc
lea ecx, [esp + 0x18]
push 0xffffffffffffffff
call fcn.00405bb0
mov eax, dword [0x55e088]
test eax, eax
je 0x4e88ce
mov eax, 0x5478a8
test eax, eax
je 0x4e889f
push eax
call ebx
mov esi, eax
jmp 0x4e88a1
xor esi, esi
push esi
lea ecx, [esp + 0x1c]
call fcn.00405660
test eax, eax
je 0x4e88ce
mov ecx, dword [esp + 0x18]
inc esi
push esi
push 0x5478a8
push ecx
call fcn.00405400
add esp, 0xc
lea ecx, [esp + 0x18]
push 0xffffffffffffffff
call fcn.00405bb0
xor ebx, ebx
test ebp, ebp
jle 0x4e8fe8
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x4e88e4
mov edi, dword [esp + 0x48]
push ebx
lea ecx, [edi + 0x428]
call fcn.004e9020
xor esi, esi
test eax, eax
je 0x4e88f8
mov esi, dword [eax]
mov eax, dword [esp + 0x7c]
mov edx, dword [0x547570]
push ebx
push eax
lea ecx, [esp + 0x1c]
push str._d__d
push ecx
mov dword [esp + 0x24], edx
call fcn.00405cb0
add esp, 0x10
mov ecx, edi
push esi
call fcn.004efea0
mov edi, eax
test edi, edi
je 0x4e8f0c
mov edx, 0x547cec
test edx, edx
jne 0x4e8939
xor eax, eax
jmp 0x4e8940
push 0x547cec
call ebp
push 0x547cec
push eax
lea ecx, [esp + 0x18]
call fcn.00405a90
mov eax, dword [esp + 0x48]
cmp dword [eax + 0xf0], edi
je 0x4e8fb6
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x14]
push ecx
push ecx
mov ecx, esp
push edx
call fcn.00405440
lea eax, [esp + 0x24]
mov ecx, edi
push eax
call fcn.0049d380
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 8]
test eax, eax
je 0x4e8bb3
cmp dword [esp + 0x5c], ebx
jne 0x4e8b22
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x1c]
push eax
mov edx, dword [eax - 8]
push edx
call fcn.00405a90
mov eax, dword [0x547570]
mov ecx, 0x54ffb0
test ecx, ecx
mov dword [esp + 0x20], eax
je 0x4e89f7
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
test esi, esi
je 0x4e89f7
push esi
lea ecx, [esp + 0x24]
call fcn.00405530
test eax, eax
je 0x4e89f7
mov edx, dword [esp + 0x20]
inc esi
push esi
push 0x54ffb0
push edx
call fcn.00405400
add esp, 0xc
lea ecx, [esp + 0x20]
push 0xffffffffffffffff
call fcn.00405bb0
mov eax, dword [0x547570]
mov ecx, str.CurSel
test ecx, ecx
mov dword [esp + 0x24], eax
jne 0x4e8a0d
xor eax, eax
jmp 0x4e8a14
push str.CurSel
call ebp
mov ecx, dword [esp + 0x14]
push ecx
mov edx, dword [ecx - 8]
lea ecx, [esp + 0x28]
push edx
push str.CurSel
push eax
call fcn.004059f0
lea eax, [esp + 0x24]
lea ecx, [esp + 0x30]
push eax
call fcn.00405440
lea ecx, [esp + 0x24]
call fcn.00405700
mov ecx, dword [0x547570]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
push eax
mov edx, dword [eax - 8]
mov eax, dword [esp + 0x34]
push edx
push eax
mov eax, dword [eax - 8]
lea ecx, [esp + 0x34]
push eax
call fcn.004059f0
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x30]
call fcn.00405440
lea ecx, [esp + 0x28]
call fcn.00405700
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
push eax
mov edx, dword [eax - 8]
push edx
call fcn.00405a90
mov eax, dword [esp + 0x2c]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e8ac4
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4e8aca
mov edx, dword [esp + 0x2c]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
jmp 0x4e8aca
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, dword [esp + 0x30]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e8af5
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4e8af5
mov edx, dword [esp + 0x30]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x20]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e8b28
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4e8b28
mov edx, dword [esp + 0x20]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
jmp 0x4e8b28
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov eax, dword [0x547570]
mov ecx, 0x547cec
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x4e8b3e
xor eax, eax
jmp 0x4e8b45
push 0x547cec
call ebp
mov ecx, dword [esp + 0x1c]
push ecx
mov edx, dword [ecx - 8]
lea ecx, [esp + 0x2c]
push edx
push 0x547cec
push eax
call fcn.004059f0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x34]
push eax
call fcn.00405440
lea ecx, [esp + 0x28]
call fcn.00405700
mov eax, dword [esp + 0x34]
push eax
mov ecx, dword [eax - 8]
push ecx
lea ecx, [esp + 0x18]
call fcn.00405a90
mov eax, dword [esp + 0x34]
mov ecx, dword [0x547574]
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4e8bb9
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4e8bb9
mov eax, dword [esp + 0x34]
add eax, 0xfffffff4
push eax
call fcn.00532222
add esp, 4
jmp 0x4e8bb9
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
push ebx
lea ecx, [esp + 0x20]
push str._d_r_n
push ecx
call fcn.00405cb0
mov eax, dword [esp + 0x24]
add esp, 0xc
lea ecx, [esp + 0x10]
mov edx, dword [eax - 8]
push eax
push edx
call fcn.00405a90
mov eax, dword [0x547570]
mov ecx, str.CurPos
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x4e8bf4
xor eax, eax
jmp 0x4e8bfb
push str.CurPos
call ebp
mov ecx, dword [esp + 0x14]
push ecx
mov edx, dword [ecx - 8]
lea ecx, [esp + 0x2c]
push edx
push str.CurPos
push eax
call fcn.004059f0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x3c]
push eax
call fcn.00405440
lea ecx, [esp + 0x28]
call fcn.00405700
mov ecx, dword [0x547570]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
push eax
mov edx, dword [eax - 8]
mov eax, dword [esp + 0x40]
push edx
push eax
mov eax, dword [eax - 8]
lea ecx, [esp + 0x30]
push eax
call fcn.004059f0
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00405440
lea ecx, [esp + 0x24]
call fcn.00405700
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x10]
push eax
mov edx, dword [eax - 8]
push edx
call fcn.00405a90
mov eax, dword [esp + 0x38]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e8ca3
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4e8ca3
mov edx, dword [esp + 0x38]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [esp + 0x3c]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e8cce
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4e8cce
mov edx, dword [esp + 0x3c]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, dword [0x547570]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x3c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [edi + 0x3c]
push eax
mov edx, dword [eax]
call dword [edx + 0x34]
push 0
push 0
mov ecx, edi
call fcn.004a0ff0
lea eax, [esp + 0x44]
mov ecx, edi
push eax
call fcn.004abfe0
test eax, eax
je 0x4e8efa
mov ecx, dword [0x547570]
lea edx, [esp + 0x20]
lea eax, [edi + 0x1d0]
push edx
push eax
mov dword [esp + 0x28], ecx
call fcn.004e4970
add esp, 8
test eax, eax
je 0x4e8ef1
ret
add dword [eax], eax
invalid
mov ecx, dword [0x547570]
mov edx, str.ColsAndSort
test edx, edx
mov dword [esp + 0x28], ecx
jne 0x4e8d45
xor eax, eax
jmp 0x4e8d4c
push str.ColsAndSort
call ebp
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, dword [ecx - 8]
push ecx
push str.ColsAndSort
push eax
lea ecx, [esp + 0x38]
call fcn.004059f0
lea edx, [esp + 0x28]
lea ecx, [esp + 0x40]
push edx
call fcn.00405440
lea ecx, [esp + 0x28]
call fcn.00405700
mov eax, dword [0x547570]
mov ecx, 0x547824
test ecx, ecx
mov dword [esp + 0x24], eax
jne 0x4e8d91
xor eax, eax
jmp 0x4e8d98
push 0x547824
call ebp
push 0x547824
push eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x2c]
push eax
mov edx, dword [eax - 8]
push edx
call fcn.004059f0
lea eax, [esp + 0x24]
lea ecx, [esp + 0x58]
push eax
call fcn.00405440
lea ecx, [esp + 0x24]
call fcn.00405700
mov eax, dword [esp + 0x40]
mov edx, dword [0x547574]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4e8df2
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4e8df2
mov edx, dword [esp + 0x40]
add edx, 0xfffffff4
push edx
call fcn.00532222
add esp, 4
mov eax, 0x547cec
test eax, eax
je 0x4e8e02
push 0x547cec
call ebp
push 0x547cec
push eax
lea ecx, [esp + 0x18]
call fcn.00405a90
mov ecx, dword [0x547570]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], ecx
push eax
mov edx, dword [eax - 8]
mov eax, dword [esp + 0x5c]
push edx
push eax
mov eax, dword [eax - 8]
lea ecx, [esp + 0x34]
push eax
call fcn.004059f0
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x54]
call fcn.00405440
lea ecx, [esp + 0x28]
call fcn.00405700
lea edx, [esp + 0x50]
lea ecx, [esp + 0x10]
push edx
call fcn.00413070
lea ecx, [esp + 0x50]
call fcn.00405700
push 0x547cec
lea ecx, [esp + 0x14]
call fcn.0042a1a0
lea eax, [esp + 0x14]
lea ecx, [esp + 0x54]
push eax
push str.ColsID
push ecx
call fcn.00412eb0
lea edx, [esp + 0x20]
lea eax, [esp + 0x54]
push edx
push 0x547824
lea ecx, [esp + 0x6c]
push eax
push ecx
call fcn.00412d60
lea edx, [esp + 0x64]
push eax
push edx
call fcn.00412c10
push eax
lea ecx, [esp + 0x14]
call fcn.00413070
lea ecx, [esp + 0x60]
call fcn.00405700
lea ecx, [esp + 0x64]
call fcn.00405700
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
push eax
call fcn.00405440
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call fcn.004a0810
lea ecx, [esp + 0x54]
call fcn.00405700
lea ecx, [esp + 0x58]
call fcn.00405700
lea ecx, [esp + 0x20]
call fcn.00405700
lea ecx, [esp + 0x44]
call fcn.00405700
lea ecx, [esp + 0x1c]
jmp 0x4e8fb1
mov edx, dword [esp + 0x48]
push ebx
lea ecx, [edx + 0x428]
call fcn.004e9020
test eax, eax
je 0x4e8fb6
mov ecx, dword [0x547570]
lea edx, [esp + 0x20]
add eax, 4
push edx
push eax
push ecx
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x20]
mov ecx, esp
push eax
call fcn.00405440
call fcn.004e72e0
add esp, 0xc
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
call fcn.00413070
push ebx
lea edx, [esp + 0x24]
push str._d_r_n
push edx
call fcn.00405cb0
add esp, 0xc
lea eax, [esp + 0x20]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x6c]
push eax
push ecx
push str.CurPos
push edx
call fcn.00412eb0
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00412c10
push eax
lea ecx, [esp + 0x14]
call fcn.00413070
lea ecx, [esp + 0x68]
call fcn.00405700
lea ecx, [esp + 0x6c]
call fcn.00405700
lea ecx, [esp + 0x20]
call fcn.00405700
push 0x547cec
lea ecx, [esp + 0x14]
call fcn.0042a1a0
push 0x547cec
lea ecx, [esp + 0x14]
call fcn.0042a1a0
lea ecx, [esp + 0x14]
call fcn.00405700
mov eax, dword [esp + 0x70]
inc ebx
cmp ebx, eax
jl 0x4e88e0
mov esi, dword [esp + 0x78]
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.00405440
lea ecx, [esp + 0x18]
call fcn.00405700
lea ecx, [esp + 0x4c]
call fcn.00405700
lea ecx, [esp + 0x10]
call fcn.00405700
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0xc