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

Disassembly:
mov eax, 0x74ef40c3
call fcn.46ad6420
sub esp, 0x90
push ebx
xor ebx, ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0xd], 1
mov byte [ebp - 0x4c], bl
mov byte [ebp - 0x2c], bl
mov dword [ebp - 4], ebx
push dword [ebp + 0xc]
lea eax, [ebp - 0x34]
push dword [ebp + 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.46ad69cf
mov edi, eax
cmp edi, ebx
jne 0x46ad74d2
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 3
push dword [ebp + 8]
call dword [0x74ef1100]
mov edi, eax
cmp edi, ebx
je 0x46ad74ec
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 4], 4
cmp dword [ebp - 0x34], ebx
jne 0x46ad755f
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x20]
push eax
push edi
call fcn.46ad6768
cmp eax, ebx
mov dword [ebp + 0xc], eax
jl 0x46ad753c
push dword [ebp - 0x20]
push 0x74ef1768
push 3
call dword [0x74ef10f8]
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ebx
mov byte [ebp - 4], 5
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x50], 2
call fcn.46ad6691
cmp dword [ebp - 0x24], ebx
mov byte [ebp + 0x1f], al
jne 0x46ad633d
cmp dword [ebp - 0x38], ebx
jne 0x46ad633d
cmp dword [ebp + 0x10], ebx
mov byte [ebp + 0xf], bl
jne 0x46ad633d
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x34]
cmp eax, ebx
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x68], ebx
jne 0x46ad756e
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x46ad757a
mov dword [ebp - 0x6c], 9
mov dword [ebp - 0x64], eax
cmp byte [ebp + 0xf], bl
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 3
mov dword [ebp - 0x54], ebx
jne 0x46ad7589
mov dword [ebp - 0x58], ebx
push dword [ebp + 0x18]
lea eax, [ebp - 0x98]
push dword [ebp - 0x28]
mov ecx, esi
push eax
call fcn.46ad6444
mov edi, eax
cmp edi, 0x800706d3
je 0x46ad6346
cmp edi, 0x800706ba
je 0x46ad6346
cmp edi, ebx
jne 0x46ad76b1
mov eax, dword [ebp - 0x34]
cmp eax, ebx
push 0xa
pop edi
mov dword [ebp - 0x30], edi
jne 0x46ad761e
lea eax, [ebp + 0x10]
push eax
push ebx
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x9c]
push eax
push ebx
push ebx
lea eax, [ebp - 0x30]
push eax
push dword [esi + 8]
call dword [0x74ef10bc]
cmp eax, ebx
jl 0x46ad623a
cmp dword [ebp - 0x30], edi
jne 0x46ad762a
mov dword [ebp - 0x30], edi
xor eax, eax
xor ecx, ecx
cmp byte [ebp - 0xd], bl
push 0x20
sete cl
cmp byte [ebp + 0x1f], bl
pop edi
mov dword [ebp - 0x20], ecx
jne 0x46ad6354
mov dword [ebp + 0x10], ebx
cmp dword [ebp - 0x28], ebx
je 0x46ad7632
cmp byte [ebp + 0x1f], bl
jne 0x46ad7676
mov al, byte [ebp + 0xf]
push dword [ebp - 0x30]
neg al
push dword [ebp + 0x10]
lea ecx, [ebp - 0x88]
sbb eax, eax
and eax, ecx
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x34]
push dword [ebp - 0x4c]
push dword [esi + 8]
call fcn.46ad652b
cmp byte [ebp + 0xf], bl
jne 0x46ad770e
mov edi, dword [ebp + 0x24]
and byte [ebp + 0x18], 0x7f
mov eax, dword [esi + 8]
mov ecx, dword [eax]
push edi
push dword [ebp + 0x20]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 8]
push eax
call dword [ecx + 0x18]
cmp eax, 0x800706d3
mov dword [ebp + 0xc], eax
je 0x46ad778d
cmp dword [ebp + 0xc], ebx
jl 0x46ad77e2
cmp byte [ebp - 0xd], bl
je 0x46ad7823
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x48]
call fcn.46ad63a0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.46ad63a0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], ebx
mov esi, dword [0x74ef10dc]
jne 0x46ad77fa
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], ebx
jne 0x46ad7804
mov byte [ebp - 4], bl
cmp dword [ebp - 0x14], ebx
jne 0x46ad780e
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x2c], bl
jne 0x46ad7818
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x20
mov byte [ebp + 0xf], 1
jmp 0x46ad6170
cmp dword [ebp - 0x28], ebx
je 0x46ad75f3
jmp 0x46ad61f5
cmp dword [ebp - 0x24], ebx
mov dword [ebp + 0x10], edi
je 0x46ad6259
jmp 0x46ad6256
stc
adc byte [ebx], al
dec esp
and al, 0x18
dec esp
and al, 0x1c
xlatb
dec esp
and al, 0x4c
dec eax
push ebx
mov ebx, dword [eax + 0x1c]
push ebp
mov ebp, dword [eax + 0x10]
push esi
mov esi, dword [eax + 0x20]
mov dword [esp + 0x30], esi
mov esi, dword [eax + 0xc]
mov dword [esp + 0x74], esi
mov esi, dword [eax + 0x3c]
mov dword [esp + 0x80], esi
mov esi, dword [eax + 0x2c]
mov dword [esp + 0x64], esi
mov esi, dword [eax + 0x30]
mov dword [esp + 0x6c], esi
mov esi, dword [eax + 0x40]
push edi
mov edi, dword [eax + 0x28]
mov dword [esp + 0x64], esi
mov esi, dword [eax + 0x38]
je 0x46ad7650
mov esi, dword fs:[eax + 0x38]
mov eax, dword [eax + 0x24]
cmp eax, edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x58], eax
jg 0x46ad7b34
and al, 0x3b
invalid
sub ebx, ecx
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x34]
sub edx, ecx
lea edi, [ecx + eax*4]
sub ebx, ecx
pushfd
and al, 0x90
add byte [eax], al
add byte [ebx + 0x2b34245c], cl
ror dword [ebp - 0x26d47ec4], 1
mov dword [esp + 0x80], edi
mov dword [esp + 0x98], edx
mov dword [esp + 0x88], ebx
jmp 0x46ad7680
xor dword [ebx], eax
inc eax
add byte [eax], al
add byte [eax - 0x73f0000], al
adc byte [ebx], al
ret
add byte [eax - 0x53f0000], al
adc byte [ebx], ch
rol byte [ebx], 1
salc