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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x526b24]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x80]
push ebp
mov ebp, ecx
mov dword [esp + 0x14], eax
push esi
push edi
xor edi, edi
mov dword [esp + 0x24], ebp
movzx edx, byte [ebp + 1]
test edx, edx
je 0x4adcfd
mov ecx, dword [ebp + 8]
mov esi, 0xff
add ecx, 4
cmp byte [ecx - 3], 0
je 0x4adcda
mov eax, dword [ecx]
cmp eax, 0xff
cmovb eax, esi
inc edi
add edi, eax
add ecx, 0x1c
sub edx, 1
jne 0x4adcc7
cmp edi, 0xffffffff
jne 0x4adcfd
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004ebadf
add esp, 0x7c
ret 4
mov eax, dword [0x62271c]
lea esi, [eax*4]
mov eax, dword fs:[0x2c]
mov dword [esp + 0x30], esi
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
jne 0x4add2a
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov edx, dword [esi + eax]
push ebx
cmp edi, dword [edx + 0x934]
jbe 0x4adf45
mov ecx, edi
shr ecx, 0xe
test edi, 0x3fff
lea ebx, [ecx + 1]
cmove ebx, ecx
shl ebx, 0xe
cmp byte [edx + 0x2198], 0
jne 0x4add62
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp dword [ecx + 0x930], 0
je 0x4ade4a
cmp byte [ecx + 0x2198], 0
jne 0x4add86
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov eax, dword [esi + eax]
push dword [eax + 0x930]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword fs:[0x2c]
add esp, 4
mov eax, dword [esi + ecx]
cmp byte [eax + 0x2198], 0
jne 0x4addb7
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [esi + ecx]
cmp byte [eax + 0x2198], 0
mov dword [eax + 0x940], 0
jne 0x4addd9
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [esi + ecx]
cmp byte [eax + 0x2198], 0
mov dword [eax + 0x930], 0
jne 0x4addfb
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [esi + ecx]
cmp byte [eax + 0x2198], 0
mov dword [eax + 0x934], 0
jne 0x4ade1d
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [esi + ecx]
cmp dword [eax + 0x934], 0x400000
jbe 0x4ade4a
cmp byte [eax + 0x2198], 0
jne 0x4ade41
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [esi + ecx]
dec dword [eax + 0x998]
lea eax, [ebx + ebx]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, eax
add esp, 4
mov eax, dword fs:[0x2c]
mov dword [esp + 0x14], edx
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
jne 0x4ade7e
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
mov dword [ecx + 0x940], edx
jne 0x4ade9f
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + eax]
mov dword [ecx + 0x930], edx
mov cl, byte [ecx + 0x2198]
test edx, edx
jne 0x4adeed
test cl, cl
jne 0x4adec1
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov eax, dword [esi + eax]
push 0
mov dword [eax + 0x934], 0
call fcn.004654c0
add esp, 4
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004ebadf
add esp, 0x7c
ret 4
test cl, cl
jne 0x4adefc
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
mov dword [ecx + 0x934], ebx
jne 0x4adf19
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov edx, dword [esi + eax]
cmp dword [edx + 0x934], 0x400000
jbe 0x4adf45
cmp byte [edx + 0x2198], 0
jne 0x4adf3c
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov edx, dword [esi + eax]
inc dword [edx + 0x998]
cmp byte [edx + 0x2198], 0
jne 0x4adf59
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov edx, dword [esi + eax]
cmp byte [edx + 0x2198], 0
mov ecx, dword [edx + 0x930]
mov dword [esp + 0x2c], ecx
jne 0x4adf7a
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
mov ebx, dword [ecx + 0x930]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
jne 0x4adf9f
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
mov ebx, dword [ecx + 0x934]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
jne 0x4adfc4
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
mov dword [ecx + 0x930], 0
jne 0x4adfe5
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
mov dword [ecx + 0x934], 0
mov ecx, ebx
mov dl, byte [ebp + 1]
sub ecx, edi
xor edi, edi
mov dword [esp + 0x24], ecx
test dl, dl
je 0x4ae182
mov ebx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x10], edx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], ecx
cmp byte [ecx + edx + 1], 0
je 0x4ae07b
push dword [esp + 0x24]
lea eax, [esp + 0x3c]
xor ecx, ecx
cmp dword [esp + 0x24], ecx
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, ebx
cmove eax, ecx
mov ecx, ebp
push eax
lea eax, [esp + 0x48]
push eax
push edi
call fcn.004ae450
mov dword [esp + edi*4 + 0x38], eax
mov dword [esp + 0x24], 0
test eax, eax
jne 0x4ae0f8
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword fs:[0x2c]
jmp 0x4ae287
mov al, byte [ecx + edx]
cmp al, 2
jne 0x4ae08c
mov dword [esp + edi*4 + 0x38], 0x4f5b70
jmp 0x4ae0f8
cmp al, 1
je 0x4ae0bd
cmp dword [esp + 0x20], 0
je 0x4ae0b7
mov edx, dword [ecx + edx + 0x10]
test edx, edx
je 0x4ae0b3
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [ebx], eax
mov eax, dword [edx + 8]
mov dword [ebx + 8], eax
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 8]
jmp 0x4ae0f4
mov eax, dword [ecx + edx + 0xc]
cmp byte [eax + 0x17], 0
jne 0x4ae0cf
mov ecx, dword [eax + 0xc]
call fcn.00422af0
cmp byte [eax + 0x17], 1
jne 0x4ae0db
test byte [eax + 0x15], 2
jne 0x4ae114
mov al, byte [ebp]
cmp al, 1
jne 0x4ae0e7
cmp edi, 1
jmp 0x4ae0e9
cmp al, 8
je 0x4ae0ef
xor eax, eax
jmp 0x4ae0f4
mov eax, 0x4f5b70
mov dword [esp + edi*4 + 0x38], eax
mov dl, byte [ebp + 1]
inc edi
add dword [esp + 0x10], 0x1c
add ebx, 0x20
movzx eax, dl
cmp edi, eax
jge 0x4ae16c
mov edx, dword [esp + 0x10]
jmp 0x4ae011
mov ecx, dword fs:[0x2c]
mov eax, dword [esi + ecx]
cmp byte [eax + 0x2198], 0
jne 0x4ae138
call fcn.004ebad3
mov edx, dword [ebp + 8]
mov ecx, dword fs:[0x2c]
jmp 0x4ae13c
mov edx, dword [esp + 0x14]
mov eax, dword [esi + ecx]
mov ecx, dword [eax + 0x298]
lea eax, [edi*8]
sub eax, edi
push dword [edx + eax*4 + 0xc]
call fcn.0046fca0
mov ebx, dword [esp + 0x18]
mov edi, eax
mov ebp, dword [esp + 0x1c]
mov eax, dword fs:[0x2c]
jmp 0x4ae287
mov ebx, dword [esp + 0x18]
mov eax, dword fs:[0x2c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
xor ebx, ebx
test dl, dl
je 0x4ae1f9
mov esi, dword [esp + 0x28]
xor ebp, ebp
nop
cmp dword [esp + ebx*4 + 0x38], 0
jne 0x4ae1dd
mov eax, dword [esi + 8]
mov edi, dword [eax + ebp + 0xc]
mov al, byte [edi + 0x17]
test al, al
jne 0x4ae1b1
mov ecx, dword [edi + 0xc]
push 1
call fcn.00422310
jmp 0x4ae1d9
test byte [edi + 0x15], 1
je 0x4ae1c1
mov ecx, edi
call fcn.00422b10
mov al, byte [edi + 0x17]
cmp al, 3
jne 0x4ae1d6
cmp byte [edi + 0x15], 0
jl 0x4ae1d6
mov ecx, edi
call fcn.004e7e30
and byte [edi + 0x15], 0x7f
mov eax, dword [edi + 8]
mov dword [esp + ebx*4 + 0x38], eax
mov dl, byte [esi + 1]
inc ebx
movzx eax, dl
add ebp, 0x1c
cmp ebx, eax
jl 0x4ae190
mov eax, dword fs:[0x2c]
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x28]
xor edi, edi
test dl, dl
je 0x4ae230
nop
mov ecx, dword [esi + eax]
mov ebx, dword [esp + edi*4 + 0x38]
cmp byte [ecx + 0x2198], 0
jne 0x4ae21b
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
mov dword [ecx + edi*4 + 0x948], ebx
inc edi
mov dl, byte [ebp + 1]
movzx ecx, dl
cmp edi, ecx
jl 0x4ae200
movzx ecx, byte [ebp]
movzx edi, dl
lea ecx, [ecx + ecx*2]
movsx ebx, byte [ecx*2 + 0x52315d]
cmp edi, ebx
jge 0x4ae27a
nop word [eax + eax]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
jne 0x4ae267
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
mov dword [ecx + edi*4 + 0x948], 0x4f5b70
inc edi
cmp edi, ebx
jl 0x4ae250
mov ebp, dword [esp + 0x14]
mov edi, 1
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x4ae3b0
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
jne 0x4ae2a6
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp dword [ecx + 0x930], 0
mov dl, byte [ecx + 0x2198]
je 0x4ae324
test dl, dl
jne 0x4ae2c7
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov eax, dword [esi + eax]
push dword [eax + 0x930]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword fs:[0x2c]
add esp, 4
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
jne 0x4ae2f6
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp dword [ecx + 0x934], 0x400000
jbe 0x4ae359
cmp byte [ecx + 0x2198], 0
jne 0x4ae319
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
dec dword [ecx + 0x998]
jmp 0x4ae359
test dl, dl
jne 0x4ae333
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
mov dword [ecx + 0x930], ebx
jne 0x4ae350
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
mov dword [ecx + 0x934], ebp
cmp byte [ecx + 0x2198], 0
jne 0x4ae36d
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
mov dword [ecx + 0x940], ebx
jne 0x4ae38a
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
mov dword [ecx + 0x930], ebx
jne 0x4ae3a7
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
mov dword [ecx + 0x934], ebp
mov ecx, dword [esi + eax]
cmp byte [ecx + 0x2198], 0
jne 0x4ae3c7
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov ecx, dword [esi + eax]
cmp dword [ecx + 0x934], 0x400000
jbe 0x4ae432
cmp byte [ecx + 0x2198], 0
jne 0x4ae3ea
call fcn.004ebad3
mov eax, dword fs:[0x2c]
mov eax, dword [esi + eax]
push 0x494200
push 0x2710
push 0xd
push dword [eax + 0x214]
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword fs:[0x2c]
test eax, eax
setne bl
mov eax, dword [esi + ecx]
cmp byte [eax + 0x2198], 0
jne 0x4ae429
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [esi + ecx]
mov byte [eax + 0x136], bl
mov ecx, dword [esp + 0x88]
mov eax, edi
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.004ebadf
add esp, 0x7c
ret 4