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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101fd944
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x10293044]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push esi
push edi
mov eax, dword [0x10293044]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi + 0x68]
xor ebx, ebx
cmp ecx, ebx
mov dword [esp + 0x30], edi
je 0x100ce3a2
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
lea edx, [esp + 0x44]
push edx
call eax
mov dword [esp + 0xa8], ebx
cmp dword [esp + 0x44], ebx
jne 0x100ce3a9
mov dword [esp + 0xa8], 0xffffffff
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x100ce3a2
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x100cea44
cmp dword [edi + 0x60], ebx
je 0x100ce388
mov ecx, dword [edi + 0x10]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push ebx
push 0xb
push ecx
call esi
lea edx, [esp + 0x5c]
lea ecx, [edi + 0x30]
push edx
call fcn.100cfb00
mov byte [esp + 0xa8], 1
lea ecx, [esp + 0x5c]
call fcn.1009c450
test al, al
je 0x100ce683
mov eax, dword [edi + 0x10]
push ebx
push ebx
push 0x1009
push eax
call esi
lea esi, [edi + 0xc]
mov eax, esi
call fcn.100a6810
lea ecx, [esp + 0x50]
push ecx
call fcn.100cfca0
mov byte [esp + 0xa8], 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0xa8], 3
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0x18]
push eax
call edx
lea eax, [esp + 0x6c]
push eax
call fcn.100a69e0
mov byte [esp + 0xa8], 4
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0x6c]
push eax
call edx
lea eax, [esp + 0x6c]
mov ecx, esi
call fcn.100a4ce0
mov dword [esp + 0x48], ebx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x100ce4f4
mov edi, dword [esp + 0x20]
mov ecx, edi
sub ecx, esi
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jae 0x100ce4f0
test esi, esi
mov eax, dword [esp + 0x48]
lea ecx, [esi + eax]
mov dword [esp + 0x14], ecx
je 0x100ce4b3
sub edi, esi
mov eax, 0x88888889
imul edi
add edx, edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x100ce4bd
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x48]
push eax
push ecx
lea edx, [esi + edi]
lea ecx, [esp + 0x58]
call fcn.100cfd10
add esp, 4
mov esi, eax
call fcn.100a6940
add ebx, 1
add edi, 0xf
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x30]
jmp 0x100ce460
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
mov esi, dword [ecx]
lea ebx, [esp + 0x50]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], ebx
test ebx, ebx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
je 0x100ce51a
lea eax, [esp + 0x50]
cmp ebx, eax
je 0x100ce520
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [esp + 0x4c]
je 0x100ce635
test ebx, ebx
jne 0x100ce534
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [ebx + 4]
jne 0x100ce53f
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [ebx + 4]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x14], ecx
jne 0x100ce551
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
lea edx, [esp + 0x34]
lea ecx, [esi + 0x10]
push edx
call fcn.100cfb00
mov byte [esp + 0xa8], 5
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x100ce589
mov ecx, dword [esp + 0x3c]
sub ecx, ebx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
jne 0x100ce5c2
xor esi, esi
mov byte [esp + 0xa8], 4
cmp ebx, esi
je 0x100ce5a0
push ebx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
lea esi, [esp + 0x28]
call fcn.10030490
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
jmp 0x100ce506
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x34]
add eax, 0xc
push eax
mov dword [esp + 0x1c], eax
call fcn.100a3320
mov ebx, dword [esp + 0x38]
xor edi, edi
mov edi, edi
cmp edi, esi
jae 0x100ce5f8
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, ebx
call fcn.100a36e0
add edi, 1
add ebx, 0xf
jmp 0x100ce5e0
mov byte [esp + 0xa8], 4
mov edx, dword [esp + 0x38]
push edx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
mov edi, dword [esp + 0x34]
xor eax, eax
add esp, 4
lea esi, [esp + 0x28]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
call fcn.10030490
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
jmp 0x100ce506
mov byte [esp + 0xa8], 3
lea eax, [esp + 0x6c]
call fcn.100a7040
mov byte [esp + 0xa8], 2
mov eax, dword [esp + 0x1c]
xor ebx, ebx
cmp eax, ebx
je 0x100ce661
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0xa8], 1
lea eax, [esp + 0x50]
call fcn.100cffe0
jmp 0x100ce8ae
lea eax, [edi + 0xc]
mov dword [esp + 0x14], eax
call fcn.100a6810
lea eax, [esp + 0x50]
push eax
call fcn.100cfca0
mov byte [esp + 0xa8], 8
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0xa8], 9
mov edi, dword [edi + 0x60]
mov edx, dword [edi]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call edx
mov dword [esp + 0x48], ebx
lea ebx, [ebx]
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x100ce75d
mov edi, dword [esp + 0x20]
mov ecx, edi
sub ecx, esi
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jae 0x100ce75d
test esi, esi
mov eax, dword [esp + 0x48]
lea ecx, [esi + eax]
mov dword [esp + 0x28], ecx
je 0x100ce723
sub edi, esi
mov eax, 0x88888889
imul edi
add edx, edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x100ce72d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
push edx
add esi, edi
push ecx
mov edx, esi
lea ecx, [esp + 0x58]
call fcn.100cfd10
add esp, 4
mov esi, eax
call fcn.100a6940
add ebx, 1
add edi, 0xf
mov dword [esp + 0x48], edi
jmp 0x100ce6d0
mov eax, dword [esp + 0x54]
mov edi, dword [eax]
lea esi, [esp + 0x50]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], esi
nop
test esi, esi
mov ebx, dword [esp + 0x54]
je 0x100ce780
lea ecx, [esp + 0x50]
cmp esi, ecx
je 0x100ce786
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp edi, ebx
je 0x100ce870
test esi, esi
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
jne 0x100ce79a
call ebx
cmp edi, dword [esi + 4]
jne 0x100ce7a8
call ebx
cmp edi, dword [esi + 4]
jne 0x100ce7a8
call ebx
lea edx, [esp + 0x34]
lea ecx, [edi + 0x10]
push edx
call fcn.100cfb00
mov byte [esp + 0xa8], 0xa
mov edi, dword [esp + 0x38]
xor ebx, ebx
cmp edi, ebx
je 0x100ce7e4
mov ecx, dword [esp + 0x3c]
sub ecx, edi
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp esi, ebx
ja 0x100ce81b
mov byte [esp + 0xa8], 9
cmp edi, ebx
je 0x100ce7f9
push edi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
lea esi, [esp + 0x28]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.10030490
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp 0x100ce770
mov ebx, dword [esp + 0x38]
xor edi, edi
cmp edi, esi
jae 0x100ce837
mov ecx, dword [esp + 0x14]
push ebx
call fcn.100a4d20
add edi, 1
add ebx, 0xf
jmp 0x100ce821
mov byte [esp + 0xa8], 9
mov eax, dword [esp + 0x38]
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
xor eax, eax
add esp, 4
lea esi, [esp + 0x28]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
call fcn.10030490
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
jmp 0x100ce770
mov byte [esp + 0xa8], 8
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x100ce889
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov byte [esp + 0xa8], 1
lea eax, [esp + 0x50]
call fcn.100cffe0
mov edi, dword [esp + 0x30]
xor ebx, ebx
mov ecx, dword [edi + 0x10]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 1
push 0xb
push ecx
call esi
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x7c]
push eax
call edx
mov byte [esp + 0xa8], 0xc
cmp dword [esp + 0x94], 8
jb 0x100ce91e
mov ecx, dword [esp + 0x80]
cmp ecx, ebx
je 0x100ce927
mov eax, str.true
call fcn.1019c610
test al, al
je 0x100ce927
mov eax, dword [edi + 0x78]
add eax, 4
mov eax, dword [eax]
push 1
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [edi - 0x1c]
push 0x845
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push 1
jmp 0x100ce949
lea ecx, [esp + 0x80]
jmp 0x100ce8eb
mov eax, dword [edi + 0x78]
mov edx, dword [eax + 4]
add eax, 4
push ebx
push edx
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [edi - 0x1c]
push 0x845
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
push ebx
push 0xf1
push eax
call esi
mov ecx, dword [edi + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
lea eax, [esp + 0x6c]
push eax
call edx
mov ecx, dword [eax]
mov dword [edi + 0x7c], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x80], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0x84], ecx
mov dx, word [eax + 0xc]
mov word [edi + 0x88], dx
mov al, byte [eax + 0xe]
mov byte [edi + 0x8a], al
xor al, al
cmp byte [edi + 0x85], al
je 0x100ce997
mov al, 2
cmp byte [edi + 0x86], 0
je 0x100ce9a2
or al, 1
cmp byte [edi + 0x84], 0
je 0x100ce9ad
or al, 4
movzx edx, word [edi + 0x87]
movzx ecx, al
mov eax, dword [edi + 0x78]
push ecx
mov ecx, dword [eax + 4]
push edx
push 0x900
push ecx
call esi
mov byte [esp + 0xa8], 1
cmp dword [esp + 0x94], 8
jb 0x100ce9e9
mov edx, dword [esp + 0x80]
push edx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], ebx
mov word [esp + 0x80], bx
mov byte [esp + 0xa8], 0
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x100cea1c
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0xa8], 0xffffffff
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x100cea42
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov al, 1
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.101d19cc
mov esp, ebp
pop ebp
ret