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

Disassembly:
sub esp, 0x49c
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
push edi
cmp dword [ebp + 0x14], ebx
je 0x1001db35
pop edi
pop esi
pop ebp
mov eax, 0x40000
pop ebx
add esp, 0x49c
ret 0x10
cmp byte [ebp + 0x2c], bl
je 0x1001db4c
pop edi
pop esi
pop ebp
mov eax, 0x50000
pop ebx
add esp, 0x49c
ret 0x10
mov eax, dword [ebp]
mov esi, dword [esp + 0x4bc]
cmp eax, ebx
mov dword [esp + 0x2c], ebx
je 0x1001db6b
cmp esi, 4
je 0x1001db6b
mov dword [esp + 0x2c], 0xc
mov eax, dword [esp + 0x4b0]
push 0x104
lea ecx, [esp + 0x3ac]
push eax
push ecx
call sub.MSVCRT.dll__mbsnbcpy
mov al, byte [esp + 0x3b4]
add esp, 0xc
cmp al, bl
mov byte [esp + 0x4ab], bl
je 0x1001e218
lea eax, [esp + 0x3a8]
cmp byte [eax], 0x5c
jne 0x1001dbad
mov byte [eax], 0x2f
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x1001dba5
cmp esi, 4
sete dl
cmp dl, bl
mov byte [esp + 0x12], dl
je 0x1001dbe3
lea edi, [esp + 0x3a8]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x13], 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [esp + ecx + 0x3a7], 0x2f
jne 0x1001dbe7
mov byte [esp + 0x13], bl
cmp dl, bl
mov dword [esp + 0x14], 8
jne 0x1001dc07
lea edx, [esp + 0x3a8]
push edx
call fcn.1001d170
add esp, 4
test al, al
je 0x1001dc0b
mov dword [esp + 0x14], ebx
cmp esi, 2
jne 0x1001dc21
mov eax, dword [esp + 0x4b4]
mov ecx, ebp
push eax
call fcn.1001d5f0
jmp 0x1001dc6d
cmp esi, 1
jne 0x1001dc3f
mov ecx, dword [esp + 0x4b8]
mov edx, dword [esp + 0x4b4]
push ecx
push edx
mov ecx, ebp
call fcn.1001d680
jmp 0x1001dc6d
cmp esi, 3
jne 0x1001dc5d
mov eax, dword [esp + 0x4b8]
mov ecx, dword [esp + 0x4b4]
push eax
push ecx
mov ecx, ebp
call fcn.1001d770
jmp 0x1001dc6d
cmp esi, 4
jne 0x1001e218
mov ecx, ebp
call fcn.1001d800
cmp eax, ebx
jne 0x1001e21d
mov edi, 0x1002f678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x80]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x3a4], ebx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x104
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0x194]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x3ac]
push ecx
push edx
call sub.MSVCRT.dll_strncpy
lea edi, [esp + 0x19c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
mov byte [esp + 0x293], bl
repne scasb al, byte es:[edi]
mov al, byte [esp + 0x13]
not ecx
dec ecx
cmp al, bl
mov dword [esp + 0x60], ecx
je 0x1001dd1b
mov edi, str.__zyxwvutsrqponmlkjihgfedcba9876543210
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x190]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc dword [esp + 0x60]
mov edi, 0x1002f678
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x294]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov ax, 8
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x5c]
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp]
cmp ecx, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x398], 1
mov dword [esp + 0x3a0], ebx
mov word [esp + 0x72], bx
mov word [esp + 0x48], 0xb17
mov word [esp + 0x4a], 0x14
mov dword [esp + 0x54], ebx
mov word [esp + 0x4c], ax
je 0x1001dd9e
cmp byte [esp + 0x12], bl
jne 0x1001dd9e
mov ax, 9
mov word [esp + 0x4c], ax
mov word [esp + 0x74], ax
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov word [esp + 0x4e], ax
jne 0x1001ddc3
mov eax, dword [ebp + 0x64]
cmp eax, ebx
jl 0x1001ddc3
mov edx, dword [esp + 0x2c]
add eax, edx
mov dword [esp + 0x58], eax
jmp 0x1001ddc7
mov dword [esp + 0x58], ebx
mov eax, dword [ebp + 0x64]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x4c]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x78], ecx
add edx, eax
lea eax, [esp + 0x18]
mov dword [esp + 0x184], eax
mov eax, dword [ebp + 0x54]
lea ecx, [esp + 0x30]
mov dword [esp + 0x7c], edx
mov dl, byte [ebp + 0x54]
mov dword [esp + 0x188], ecx
mov ecx, eax
mov byte [esp + 0x1d], dl
sar ecx, 8
mov byte [esp + 0x1e], cl
mov cl, byte [ebp + 0x50]
mov edx, eax
mov byte [esp + 0x21], cl
mov ecx, dword [ebp + 0x50]
mov byte [esp + 0x18], 0x55
sar edx, 0x10
mov byte [esp + 0x1f], dl
mov edx, ecx
sar edx, 8
mov byte [esp + 0x22], dl
mov edx, ecx
sar ecx, 0x18
mov byte [esp + 0x24], cl
mov cl, byte [ebp + 0x58]
sar edx, 0x10
mov byte [esp + 0x25], cl
mov ecx, dword [ebp + 0x58]
mov byte [esp + 0x23], dl
mov edx, ecx
sar edx, 8
mov byte [esp + 0x26], dl
mov edx, ecx
sar eax, 0x18
sar ecx, 0x18
sar edx, 0x10
mov byte [esp + 0x19], 0x54
mov byte [esp + 0x1a], 0xd
mov byte [esp + 0x1b], bl
mov byte [esp + 0x20], al
mov byte [esp + 0x28], cl
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x38], al
mov byte [esp + 0x1c], 7
mov byte [esp + 0x27], dl
mov edx, dword [esp + 0x1c]
push ebp
lea eax, [esp + 0x4c]
push fcn.1001d3f0
mov dword [esp + 0x38], ecx
push eax
mov word [esp + 0x7c], bx
mov dword [esp + 0x70], 0x11
mov dword [esp + 0x74], 9
mov dword [esp + 0x40], edx
mov byte [esp + 0x3e], 5
call fcn.1001c5b0
add esp, 0xc
test eax, eax
je 0x1001ded6
mov ecx, ebp
call fcn.1001d960
pop edi
pop esi
pop ebp
mov eax, 0x400
pop ebx
add esp, 0x49c
ret 0x10
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
lea eax, [edx + ecx + 0x1e]
mov ecx, dword [ebp + 0x18]
add ecx, eax
mov eax, dword [ebp + 0x14]
cmp eax, ebx
mov dword [ebp + 0x18], ecx
je 0x1001df08
mov ecx, ebp
call fcn.1001d960
mov eax, dword [ebp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49c
ret 0x10
mov esi, dword [ebp]
lea edi, [ebp + 0x30]
cmp esi, ebx
mov dword [ebp + 0x34], 0x23456789
mov dword [edi], 0x12345678
mov dword [ebp + 0x38], 0x34567890
je 0x1001df39
mov al, byte [esi]
cmp al, bl
je 0x1001df39
push eax
push edi
call fcn.1001d070
add esp, 8
inc esi
jne 0x1001df26
cmp byte [0x10031178], bl
jne 0x1001df5a
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor esi, eax
push esi
call sub.MSVCRT.dll_srand
add esp, 4
xor esi, esi
call sub.MSVCRT.dll_rand
sar eax, 7
mov byte [esp + esi + 0x3c], al
inc esi
cmp esi, 0xc
jl 0x1001df5c
mov ecx, dword [esp + 0x50]
shr ecx, 8
mov byte [esp + 0x47], cl
xor esi, esi
mov dl, byte [esp + esi + 0x3c]
push edx
push edi
call fcn.1001d0f0
add esp, 8
mov byte [esp + esi + 0x3c], al
inc esi
cmp esi, 0xc
jl 0x1001df7b
cmp dword [ebp], ebx
je 0x1001dfb7
cmp byte [esp + 0x12], bl
jne 0x1001dfb7
lea eax, [esp + 0x3c]
push 0xc
push eax
push ebp
call fcn.1001d3f0
mov eax, dword [ebp + 0x18]
add esp, 0xc
add eax, 0xc
mov dword [ebp + 0x18], eax
mov eax, dword [ebp]
xor esi, esi
cmp eax, ebx
je 0x1001dfcd
cmp byte [esp + 0x12], bl
jne 0x1001dfcd
mov eax, 1
jmp 0x1001dfcf
xor eax, eax
mov byte [ebp + 0x2d], al
mov al, byte [esp + 0x12]
cmp al, bl
jne 0x1001e002
mov edi, dword [esp + 0x14]
cmp edi, 8
jne 0x1001dff3
lea ecx, [esp + 0x48]
push ecx
mov ecx, ebp
call fcn.1001d9c0
mov esi, eax
jmp 0x1001e00c
cmp edi, ebx
jne 0x1001e00c
mov ecx, ebp
call fcn.1001dab0
mov esi, eax
jmp 0x1001e00c
mov edi, dword [esp + 0x14]
mov dword [ebp + 0x84], ebx
mov ecx, ebp
mov byte [ebp + 0x2d], bl
call fcn.1001d960
mov ecx, dword [ebp + 0x84]
mov eax, dword [ebp + 0x18]
add eax, ecx
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x14]
cmp eax, ebx
jne 0x1001e21d
cmp esi, ebx
je 0x1001e045
pop edi
pop esi
pop ebp
mov eax, 0x400
pop ebx
add esp, 0x49c
ret 0x10
mov edx, dword [esp + 0x2c]
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x58]
mov edx, dword [ebp + 0x6c]
cmp ecx, eax
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x64]
mov dword [esp + 0x5c], eax
mov al, byte [ebp + 0x1c]
sete cl
cmp al, bl
mov dword [esp + 0x54], edx
je 0x1001e114
cmp dword [ebp], ebx
je 0x1001e081
cmp byte [esp + 0x12], bl
je 0x1001e114
mov al, byte [esp + 0x4c]
mov word [esp + 0x4e], di
test al, 1
jne 0x1001e095
and word [esp + 0x4c], 0xfff7
mov edx, dword [esp + 0x7c]
mov edi, dword [ebp + 0x10]
mov cx, word [esp + 0x4c]
sub edx, edi
mov word [esp + 0x74], cx
push edx
mov ecx, ebp
call fcn.1001d510
test al, al
jne 0x1001e0c6
pop edi
pop esi
pop ebp
mov eax, 0x2000000
pop ebx
add esp, 0x49c
ret 0x10
push ebp
lea eax, [esp + 0x4c]
push fcn.1001d3f0
push eax
call fcn.1001c5b0
add esp, 0xc
test eax, eax
je 0x1001e0ef
pop edi
pop esi
pop ebp
mov eax, 0x400
pop ebx
add esp, 0x49c
ret 0x10
mov ecx, dword [ebp + 0x18]
push ecx
mov ecx, ebp
call fcn.1001d510
test al, al
jne 0x1001e183
pop edi
pop esi
pop ebp
mov eax, 0x2000000
pop ebx
add esp, 0x49c
ret 0x10
cmp word [esp + 0x4e], di
je 0x1001e12d
pop edi
pop esi
pop ebp
mov eax, 0x4000000
pop ebx
add esp, 0x49c
ret 0x10
cmp edi, ebx
jne 0x1001e147
cmp cl, bl
jne 0x1001e147
pop edi
pop esi
pop ebp
mov eax, 0x4000000
pop ebx
add esp, 0x49c
ret 0x10
push ebp
lea edx, [esp + 0x4c]
push fcn.1001d3f0
push edx
call fcn.1001c850
add esp, 0xc
test eax, eax
je 0x1001e170
pop edi
pop esi
pop ebp
mov eax, 0x400
pop ebx
add esp, 0x49c
ret 0x10
mov eax, dword [ebp + 0x18]
add eax, 0x10
mov dword [ebp + 0x18], eax
mov ax, word [esp + 0x74]
mov word [esp + 0x4c], ax
mov eax, dword [ebp + 0x14]
cmp eax, ebx
jne 0x1001e21d
mov ecx, dword [esp + 0x68]
push ecx
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x18c]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0x360
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x190], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, 0xd8
lea esi, [esp + 0x50]
mov edi, eax
add esp, 8
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0x44]
cmp edx, ebx
jne 0x1001e1ed
pop edi
mov dword [ebp + 0x44], eax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x49c
ret 0x10
mov ecx, dword [edx + 0x35c]
cmp ecx, ebx
je 0x1001e203
mov edx, ecx
mov ecx, dword [edx + 0x35c]
cmp ecx, ebx
jne 0x1001e1f7
pop edi
pop esi
mov dword [edx + 0x35c], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x49c
ret 0x10
mov eax, 0x10000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x49c
ret 0x10