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

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x17c
mov eax, dword [section..cdata]
push ebx
push esi
push edi
xor ebx, ebx
push 1
mov dword [ebp + 0x68], eax
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
call fcn.3002c96e
mov esi, eax
push 1
mov dword [ebp - 0xbc], esi
call fcn.3002c9bc
push 1
mov dword [ebp - 0xc0], eax
call fcn.3002c995
cmp word [esi + 4], 0x8007
mov dword [ebp - 0xd0], eax
push eax
jne 0x301cda6e
push esi
call fcn.3019e2a4
jmp 0x301cda7a
push dword [ebp - 0xc0]
push esi
call fcn.3003c296
mov esi, eax
mov eax, dword [ebp + 0x7c]
cmp eax, 3
push 0x42
pop ecx
lea edi, [ebp - 0xa0]
rep movsd dword es:[edi], dword [esi]
je 0x301cda93
and byte [ebp - 0x7c], 0xfe
and byte [ebp - 0x99], 0xf7
sub eax, 0
je 0x301cdccc
dec eax
dec eax
je 0x301cdb3f
dec eax
je 0x301cdad7
dec eax
jne 0x301cdea4
mov eax, dword [0x301df30c]
push dword [eax + 0x118]
lea eax, [ebp - 0xa0]
push eax
call fcn.301caedb
mov eax, dword [ebp + 0x78]
mov ebx, dword [eax + 0x30]
jmp 0x301cdea4
mov eax, dword [0x301df30c]
push dword [eax + 0x118]
lea eax, [ebp - 0xa0]
push eax
call fcn.301caedb
mov eax, dword [0x301df30c]
mov ecx, dword [eax + 0x118]
mov cx, word [ecx + 0x1c]
mov word [ebp - 0x88], cx
test byte [eax + 0x130], 1
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ecx + 0x30]
mov dword [ebp - 0xcc], 1
je 0x301cdea4
mov ax, word [ecx + 0x3c]
shl ax, 0xe
xor eax, dword [ebp - 0x9a]
and ax, 0x4000
xor word [ebp - 0x9a], ax
jmp 0x301cdea4
mov eax, dword [0x301df30c]
mov ecx, dword [eax + 0x118]
mov cx, word [ecx + 0x14]
test ch, 1
je 0x301cdb7a
lea eax, [ebp - 0xa0]
push eax
call fcn.30154b66
mov eax, dword [ebp - 0x9a]
and al, 1
or al, 1
mov word [ebp - 0x9a], ax
mov eax, dword [0x301df30c]
jmp 0x301cdc29
mov esi, 0xff
and ecx, esi
jne 0x301cdb91
and word [ebp - 0x9a], 0xfe00
jmp 0x301cdc29
and byte [ebp - 0x99], 0xfe
mov edx, dword [eax + 0x118]
test byte [edx + 0x10], 4
je 0x301cdbb6
xor cl, byte [ebp - 0x9a]
and cx, si
xor word [ebp - 0x9a], cx
jmp 0x301cdbbd
and byte [ebp - 0x9a], 0
mov ecx, dword [eax + 0x118]
test byte [ecx + 0x10], 1
je 0x301cdbde
mov cl, byte [ecx + 0x12]
xor cl, byte [ebp - 0x9c]
and cx, si
xor word [ebp - 0x9c], cx
jmp 0x301cdbf1
mov ecx, dword [ebp - 0x9c]
and cl, 0x4e
or ecx, 0x4e
mov word [ebp - 0x9c], cx
mov ecx, dword [eax + 0x118]
test byte [ecx + 0x10], 2
je 0x301cdc16
mov dl, byte [ecx + 0x12]
xor dl, byte [ebp - 0x9c]
and dx, si
xor dx, word [ecx + 0x12]
mov word [ebp - 0x9c], dx
jmp 0x301cdc29
mov cl, byte [ebp - 0x9c]
and cx, si
or ch, 0x4d
mov word [ebp - 0x9c], cx
mov ecx, dword [eax + 0x118]
test byte [ecx + 0xc], 4
je 0x301cdc59
mov cx, word [ecx + 0xe]
shl cx, 9
mov dword [ebp - 0xc8], 1
xor ecx, dword [ebp - 0x9a]
and cx, 0x400
xor word [ebp - 0x9a], cx
mov ecx, dword [ebp + 0x78]
mov dx, word [ecx + 0x6c]
mov ebx, dword [ecx + 0x78]
shl dx, 9
add ecx, 0x90
xor edx, dword [ebp - 0x9a]
and dx, 0x200
xor word [ebp - 0x9a], dx
mov edx, dword [ebp - 0x9a]
shr edx, 0xd
and edx, 1
cmp edx, dword [ecx]
je 0x301cdcaa
mov cx, word [ecx]
shl cx, 0xd
xor ecx, dword [ebp - 0x9a]
and cx, 0x2000
xor word [ebp - 0x9a], cx
jmp 0x301cdcb5
push ecx
call fcn.3004ad28
mov eax, dword [0x301df30c]
push dword [eax + 0x118]
lea eax, [ebp - 0xa0]
push eax
call fcn.301caedb
jmp 0x301cdea4
mov eax, dword [0x301df30c]
push dword [eax + 0x118]
lea eax, [ebp - 0xa0]
push eax
call fcn.301caedb
mov eax, dword [0x301df30c]
test byte [eax + 0x130], 1
mov ecx, dword [ebp + 0x78]
mov ebx, dword [ecx + 0x60]
je 0x301cdd11
mov cx, word [ecx + 0x6c]
shl cx, 0xe
xor ecx, dword [ebp - 0x9a]
and cx, 0x4000
xor word [ebp - 0x9a], cx
mov ecx, dword [eax + 0x118]
test byte [ecx + 0x16], 0x10
mov edx, 0x400
je 0x301cdd42
mov cx, word [ecx + 0x1a]
mov dword [ebp - 0xc8], 1
shr ecx, 1
xor ecx, dword [ebp - 0x9a]
and cx, dx
xor word [ebp - 0x9a], cx
mov ecx, dword [eax + 0x118]
mov cx, word [ecx + 0x1a]
test ch, 1
je 0x301cdd6e
lea eax, [ebp - 0x8c]
push eax
call fcn.300113b6
lea eax, [ebp - 0xa0]
push eax
call fcn.30011c46
jmp 0x301cde9d
test cl, cl
jne 0x301cdd84
and byte [ebp - 0x8c], cl
and byte [ebp - 0x89], 0xfe
jmp 0x301cde93
and byte [ebp - 0x89], 0xfe
mov ecx, dword [eax + 0x118]
test byte [ecx + 0x16], 4
mov esi, 0xff
je 0x301cddb1
mov cl, byte [ecx + 0x1a]
xor cl, byte [ebp - 0x8c]
and cx, si
xor word [ebp - 0x8c], cx
jmp 0x301cddb8
and byte [ebp - 0x8c], 0
mov ecx, dword [eax + 0x118]
mov cx, word [ecx + 0x1a]
xor cx, word [ebp - 0x8a]
and cx, 0x200
xor word [ebp - 0x8a], cx
mov ecx, dword [eax + 0x118]
test byte [ecx + 0x16], 1
je 0x301cde1e
mov cx, word [ecx + 0x1a]
xor cx, word [ebp - 0x8a]
mov dword [ebp - 0xc4], eax
and cx, 0x200
xor word [ebp - 0x8a], cx
mov ecx, dword [eax + 0x118]
xor eax, eax
mov ah, byte [ecx + 0x18]
mov al, byte [ebp - 0x8c]
mov word [ebp - 0x8c], ax
mov eax, dword [ebp - 0xc4]
jmp 0x301cde31
mov cl, byte [ebp - 0x8c]
and cx, si
or ch, 0x4e
mov word [ebp - 0x8c], cx
mov ecx, dword [eax + 0x118]
mov cx, word [ecx + 0x1a]
xor cx, word [ebp - 0x8a]
and cx, dx
xor word [ebp - 0x8a], cx
mov ecx, dword [eax + 0x118]
test byte [ecx + 0x16], 2
je 0x301cde80
mov cx, word [ecx + 0x1a]
xor cx, word [ebp - 0x8a]
and cx, dx
xor word [ebp - 0x8a], cx
mov ecx, dword [eax + 0x118]
movzx cx, byte [ecx + 0x19]
mov ch, byte [ebp - 0x89]
jmp 0x301cde8c
mov ecx, dword [ebp - 0x8a]
and cl, 0x4d
or ecx, 0x4d
mov word [ebp - 0x8a], cx
mov eax, dword [eax + 0x118]
mov ax, word [eax + 0x1c]
mov word [ebp - 0x88], ax
test ebx, ebx
je 0x301cded5
lea eax, [ebp - 0xa0]
push eax
push dword [ebp + 0x74]
push 0xa
push dword [ebp - 0xbc]
call fcn.301cc469
push dword [ebp - 0xcc]
push dword [ebp - 0xbc]
call fcn.301cd9d0
jmp 0x301ce03c
cmp dword [ebp - 0xd0], 0xffffffff
jne 0x301cdf5c
cmp dword [ebp + 0x7c], 3
mov ebx, dword [ebp - 0xbc]
mov eax, dword [ebx + 0x4d0]
mov ecx, dword [ebp - 0xc0]
mov esi, dword [eax + ecx*4]
je 0x301cdf02
lea eax, [esi + 0x44]
push eax
call fcn.30013919
push 0x108
lea edi, [esi + 0x20]
push edi
push 0x104
lea eax, [ebp - 0xa0]
push eax
call fcn.30011303
push edi
push dword [esi + 0x40]
push ebx
call fcn.300217c7
mov esi, dword [esi + 0x124]
jmp 0x301cdf3f
lea eax, [ebp - 0xa0]
push eax
push esi
call dword [ebp + 0x74]
mov esi, dword [esi + 0x104]
test esi, esi
jne 0x301cdf2e
push dword [ebp - 0xcc]
push esi
push dword [ebp - 0xc0]
push edi
push ebx
call fcn.301cd632
jmp 0x301ce03c
mov eax, dword [0x301e4ae8]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x110]
push 0
push eax
mov dword [0x301e4ae8], eax
call fcn.3005644c
test eax, eax
pop ecx
pop ecx
jne 0x301ce011
mov edi, dword [0x301e4920]
push 0x42
pop ecx
push eax
lea esi, [ebp - 0xa0]
rep movsd dword es:[edi], dword [esi]
push dword [0x301e4920]
lea eax, [ebp - 0xa0]
push eax
call fcn.301d46d3
test eax, eax
jne 0x301cdfb3
xor eax, eax
jmp 0x301ce060
mov edi, dword [ebp - 0xbc]
test byte [edi], 8
mov eax, dword [0x301e4920]
mov esi, dword [ebp - 0xd0]
je 0x301cdfd4
cmp dword [edi + 0x4d8], 1
mov ecx, esi
je 0x301cdfd7
mov ecx, dword [eax + 0x20]
push eax
push ecx
push edi
call fcn.300217c7
cmp dword [ebp + 0x7c], 3
jne 0x301ce01e
cmp dword [ebp - 0x90], esi
je 0x301ce031
push 6
pop ecx
push dword [0x301e4920]
lea eax, [ebp - 0xb8]
lea esi, [ebp - 0x78]
lea edi, [ebp - 0xb8]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.301cd52e
test eax, eax
jne 0x301ce031
mov eax, dword [ebp - 0xc4]
mov dword [0x301e4ae8], eax
jmp 0x301cdfac
push dword [0x301e4920]
push esi
push dword [ebp - 0xc0]
push edi
call fcn.301cd27c
mov eax, dword [ebp - 0xc4]
mov dword [0x301e4ae8], eax
cmp dword [ebp - 0xc8], 0
je 0x301ce05d
mov eax, dword [ebp - 0x9a]
shr eax, 0xa
and eax, 1
push eax
push dword [ebp - 0xbc]
call fcn.301cc04b
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x68]
call fcn.30056b36
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc