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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x63648a
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x29], 0
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x1c], 0
je 0x63645a
test dl, dl
je 0x636409
lea eax, [ebp - 4]
mov edx, dword [0x7e9580]
mov edx, dword [edx]
call fcn.004c168c
mov dl, 1
mov eax, dword [0x45855c]
call fcn.00465e98
mov dword [ebp - 0xc], eax
mov dl, 1
mov eax, dword [0x45855c]
call fcn.00465e98
mov dword [ebp - 0x14], eax
mov dl, 1
mov eax, dword [0x45855c]
call fcn.00465e98
mov dword [ebp - 0x30], eax
mov dl, 1
mov eax, dword [0x45855c]
call fcn.00465e98
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0x10], eax
xor edx, edx
push ebp
push 0x636402
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x63617c
inc eax
mov dword [ebp - 0x38], eax
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
cmp byte [eax + 0x30], 0
je 0x636172
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
mov eax, dword [eax + 0x20]
mov edx, 0x6364a8
call fcn.004c2630
je 0x636172
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
cmp dword [eax + 0x20], 0
je 0x636172
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
mov eax, dword [eax + 0x20]
lea edx, [ebp - 0x3c]
call fcn.0050066c
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x1c]
call fcn.004a29e4
cmp dword [ebp - 0x1c], 0
jne 0x636102
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00463624
push eax
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
mov ecx, dword [eax + 0x20]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x64]
jmp 0x636172
mov edx, dword [0x7e9580]
mov edx, dword [edx]
mov eax, dword [ebp - 0x1c]
call fcn.004aa644
test eax, eax
je 0x636172
push ebp
mov eax, dword [ebp - 0x1c]
call fcn.00635d4c
pop ecx
test al, al
jne 0x636172
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
add eax, 0x20
push eax
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
mov eax, dword [eax + 0x20]
lea edx, [ebp - 0x40]
call fcn.00500550
mov edx, dword [ebp - 0x40]
pop eax
call fcn.004c1644
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00463624
push eax
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
mov ecx, dword [eax + 0x20]
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax]
call dword [ebx + 0x64]
inc esi
dec dword [ebp - 0x38]
jne 0x636073
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 4]
call fcn.004c168c
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x6362fd
inc eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x24]
call fcn.004c168c
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
cmp esi, 0
jl 0x636293
lea ecx, [ebp - 0x20]
mov edx, esi
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ebx, 1
jmp 0x636279
mov eax, dword [ebp - 0x20]
cmp word [eax + ebx*2 - 2], 0xd800
jb 0x636200
mov eax, dword [ebp - 0x20]
cmp word [eax + ebx*2 - 2], 0xdfff
ja 0x636200
inc ebx
jmp 0x636278
lea eax, [ebp - 0x44]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x20]
call fcn.004c2668
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x1c]
call fcn.004a29e4
push ebp
mov eax, dword [ebp - 0x1c]
call fcn.00635d4c
pop ecx
test al, al
je 0x636278
mov eax, dword [0x7e8c08]
cmp byte [eax + 0xc], 0
je 0x636246
lea eax, [ebp - 0x20]
mov ecx, ebx
mov edx, dword [ebp - 0x1c]
call fcn.00635e00
jmp 0x636255
lea edx, [ebp - 0x20]
mov ecx, ebx
mov eax, 0x6364b8
call fcn.004c2714
mov edx, esi
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov ecx, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov edx, esi
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x48]
jmp 0x636289
inc ebx
mov eax, dword [ebp - 0x20]
call fcn.004c1730
cmp ebx, eax
jle 0x6361e5
dec esi
cmp esi, 0xffffffff
jne 0x6361ce
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, dword [ebp - 0x10]
jle 0x6362a7
push ebp
call fcn.00635d7c
pop ecx
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x6362fd
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x6362f4
inc ebx
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edi, eax
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ecx, eax
dec ecx
mov edx, edi
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0x78]
inc esi
dec ebx
jne 0x6362c5
dec dword [ebp - 0x38]
jne 0x63619c
cmp dword [ebp - 0x10], 0
jne 0x63630a
push ebp
call fcn.00635d7c
pop ecx
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
setg byte [ebp - 0x29]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x6363d4
inc eax
mov dword [ebp - 0x38], eax
xor esi, esi
lea ecx, [ebp - 0x20]
mov edx, esi
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [0x7e8c08]
cmp byte [eax + 0xc], 0
je 0x6363b5
mov edx, dword [ebp - 0x20]
mov eax, 0x6364b8
call fcn.004aa644
test eax, eax
jne 0x6363b5
cmp dword [ebp - 0x18], 0
je 0x6363b5
mov edx, dword [ebp - 0x20]
mov eax, 0x6364b8
call fcn.004aa644
test eax, eax
jne 0x6363b5
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x63637b
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x48]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.004c2668
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x20]
xor ecx, ecx
call fcn.00635e00
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x6363a7
sub eax, 4
mov eax, dword [eax]
lea edx, [ebp - 0x18]
mov ecx, 1
xchg edx, eax
call fcn.004c26b0
mov edx, esi
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x18]
add eax, 0x20
mov edx, dword [ebp - 0x20]
call fcn.004c1644
inc esi
dec dword [ebp - 0x38]
jne 0x63632f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x636409
mov eax, dword [ebp - 8]
call fcn.004bf790
mov eax, dword [ebp - 0x30]
call fcn.004bf790
mov eax, dword [ebp - 0x14]
call fcn.004bf790
mov eax, dword [ebp - 0xc]
call fcn.004bf790
ret
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x63645a
inc eax
mov dword [ebp - 0x38], eax
xor esi, esi
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
cmp dword [eax + 0x2c], 0
je 0x636454
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
mov eax, dword [eax + 0x2c]
cmp byte [eax + 0x1c], 0
je 0x636454
mov edx, esi
mov eax, dword [ebp - 0x28]
call fcn.00635d20
mov eax, dword [eax + 0x2c]
mov dl, 1
call fcn.00635fac
inc esi
dec dword [ebp - 0x38]
jne 0x63641d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x636491
lea eax, [ebp - 0x48]
mov edx, 4
call fcn.004c12c4
lea eax, [ebp - 0x24]
mov edx, 4
call fcn.004c12c4
lea eax, [ebp - 4]
call fcn.004c1264
ret