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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x18], edx
push edi
xor ecx, ecx
mov edi, dword [esi + 4]
mov ebx, dword [esi + 8]
cmp esi, dword [edi + 0x14]
sete cl
cmp dword [esi + 0x3c], 0
mov dword [esp + 0x14], ecx
je 0x66da79
test byte [esi], 8
jne 0x66da36
cmp dword [esi + 0xc], 4
jge 0x66da36
test ebx, ebx
je 0x66da36
movzx eax, word [ebx + 0x12]
test eax, 0x100
jne 0x66da36
test al, 0x40
jne 0x66da36
cmp dword [0x443b90], 1
jge 0x66da79
cmp dword [0x443b88], 0
jne 0x66da79
test ecx, ecx
je 0x66df1b
or dword [edi], 2
mov ebx, dword [esi + 0x40]
test ebx, ebx
je 0x66da5f
push dword [ebx]
push ebx
push 0x43b344
push 0x1000
call fcn.0066aebc
add esp, 0x10
inc dword [ebx]
push dword [esi + 0x44]
mov edx, dword [esi + 0x3c]
mov ecx, edi
push 0
push ebx
call fcn.0066c97c
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0xc], 4
jl 0x66db43
test ecx, ecx
je 0x66df1b
push 0x17
call fcn.0068a280
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x66dac1
lea edx, [ebx + 0x78]
mov dword [ecx + 0xc], 0x404280
mov dword [ecx], edx
mov dword [ecx + 0x10], esi
mov eax, dword [edx]
test eax, eax
je 0x66dab3
mov dword [eax + 4], ecx
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov dword [ecx + 4], 0
mov dword [edx], ecx
mov dword [esi + 0x34], ecx
test ecx, ecx
jne 0x66db1b
push 0x43bc7c
push 1
call fcn.0066aebc
mov edx, 0x43bca4
add esp, 8
or dword [edi], 2
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x66dae2
sub edx, ecx
js 0x66daf9
mov ecx, 0x43bca4
call fcn.0066af0c
jmp 0x66dafb
xor eax, eax
push 0
push 0
push eax
mov edx, 0x1f4
mov ecx, edi
call fcn.0066c97c
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or dword [edi], 2
mov eax, dword [esi + 8]
push dword [eax + 8]
push esi
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push eax
mov eax, dword [ebx + 4]
call eax
add esp, 0x18
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebx + 0x10], 0
jbe 0x66db5a
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x18], 1
cmp byte [eax], 0x2f
je 0x66db62
mov dword [esp + 0x18], 0
movzx eax, word [ebx + 0x14]
test ax, ax
je 0x66db83
mov ecx, 0xc8
cmp ax, cx
je 0x66db83
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xffffffff
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x66dbd3
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x66dbd3
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x66dbc5
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x66dbbc
test dl, dl
je 0x66dbb8
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x66dbbc
add eax, 2
add ecx, 2
test dl, dl
jne 0x66db9c
xor eax, eax
jmp 0x66dbc1
sbb eax, eax
or eax, 1
test eax, eax
je 0x66dbd3
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xffffffff
mov eax, 0x400
test word [ebx + 0x12], ax
je 0x66dbec
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xffffffff
cmp dword [esi + 0xc], 1
mov ecx, dword [esi + 8]
jne 0x66dc06
movzx eax, word [ecx + 0x12]
shr eax, 1
not eax
and eax, 1
mov dword [esp + 0x10], eax
jmp 0x66dc37
mov eax, dword [ecx + 0x20]
test eax, eax
js 0x66dc12
cmp eax, dword [esi + 0x10]
jle 0x66dc25
mov edx, dword [esi + 0x10]
test edx, edx
js 0x66dc2f
call fcn.0067ffbc
mov ecx, dword [esi + 8]
test eax, eax
jne 0x66dc2f
mov dword [esp + 0x10], 1
jmp 0x66dc37
mov dword [esp + 0x10], 0
mov eax, dword [esi]
and eax, 2
mov dword [esp + 0x20], eax
jne 0x66dcdb
cmp dword [esp + 0x1c], 0
jne 0x66dcdb
cmp dword [esp + 0x18], 0
jne 0x66dcd1
cmp dword [0x443b88], 0
jne 0x66dcdb
test dword [esi + 0x18], 0x100
lea eax, [esi + 0x18]
jne 0x66dcdb
test byte [ecx + 0x12], 0x80
je 0x66dc89
test byte [ebx + 0x12], 4
jne 0x66dc89
cmp dword [0x443b90], 0
jne 0x66dc89
mov eax, 1
jmp 0x66dcdd
cmp dword [esi + 0xc], 1
je 0x66dcb3
push dword [esi + 0x14]
mov edx, dword [esi + 0x10]
mov ecx, ebx
call fcn.0068006c
add esp, 4
test eax, eax
jne 0x66dcb0
test byte [ebx + 0x12], 4
jne 0x66dcb0
mov eax, 1
jmp 0x66dcdd
lea eax, [esi + 0x18]
mov ebx, dword [esi + 8]
xor ecx, ecx
cmp dword [0x443b90], 1
mov edx, eax
cmovle ecx, ebx
call fcn.00680c4c
neg eax
sbb eax, eax
neg eax
jmp 0x66dce0
lea edx, [esi + 0x18]
call fcn.00680c4c
jmp 0x66dcdd
xor eax, eax
mov ebx, dword [esi + 8]
test dword [esi + 0x18], 0x100
mov ecx, dword [esp + 0x10]
je 0x66dd40
xor eax, eax
test ecx, ecx
jne 0x66dd40
cmp dword [esp + 0x14], eax
je 0x66df1b
or dword [edi], 2
mov edx, 0x43bcc8
lea ecx, [edx + 1]
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x66dd0c
sub edx, ecx
js 0x66dd23
mov ecx, 0x43bcc8
call fcn.0066af0c
jmp 0x66dd25
xor eax, eax
push 0
push 0
push eax
mov edx, 0x1f8
mov ecx, edi
call fcn.0066c97c
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, word [ebx + 0x12]
test dl, 0x20
jne 0x66dd88
test eax, eax
jne 0x66dd51
test ecx, ecx
jne 0x66dd55
test dl, dl
jns 0x66dd88
cmp dword [esp + 0x14], 0
je 0x66df1b
or dword [edi], 2
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
cdq
and edx, 0xfff
add edx, eax
sar edx, 0xc
call fcn.0067f96c
mov ecx, edi
call fcn.0066e8ac
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x20], 0
je 0x66dd97
test dl, 4
jne 0x66dd97
and dword [esi], 0xfffffffd
cmp dword [esp + 0x14], 0
je 0x66de4b
or dword [edi], 2
cmp dword [esp + 0x18], 0
jne 0x66ddda
cmp dword [0x443b88], 0
je 0x66ddda
mov ecx, 0x43bcdc
call fcn.0066b03c
push 0
push 0
push eax
mov edx, 0x1f6
mov ecx, edi
call fcn.0066c97c
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 8]
push 0x17
add ebx, 0x78
call fcn.0068a280
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x66de13
mov dword [ecx], ebx
mov dword [ecx + 0xc], 0x404280
mov dword [ecx + 0x10], esi
mov eax, dword [ebx]
test eax, eax
je 0x66de05
mov dword [eax + 4], ecx
mov eax, dword [ebx]
mov dword [ecx + 8], eax
mov dword [ecx + 4], 0
mov dword [ebx], ecx
mov dword [esi + 0x34], ecx
test ecx, ecx
jne 0x66de4b
push 0x43bd0c
push 1
call fcn.0066aebc
mov ecx, 0x43bd34
call fcn.0066b03c
push 0
push 0
push eax
mov edx, 0x1f7
mov ecx, edi
call fcn.0066c97c
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 8]
movzx ecx, word [eax + 0x12]
test cl, 0x20
jne 0x66df1b
cmp dword [esp + 0x10], 0
je 0x66de6f
cmp dword [esi + 0xc], 0
jne 0x66de6f
mov edx, 1
jmp 0x66de71
xor edx, edx
cmp dword [0x443bdc], 0
jne 0x66df27
mov edi, 0x200
test word [eax + 0x54], di
je 0x66df27
test edx, edx
je 0x66de9b
cmp dword [eax + 0x50], 0
jne 0x66df2f
xor edx, edx
test cl, 4
jne 0x66dea9
or ecx, 0x20
mov word [eax + 0x12], cx
mov ecx, 2
test edx, edx
jne 0x66deb5
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
push dword [eax + 8]
push esi
push dword [esi + 0x14]
push dword [esi + 0x10]
push ecx
push eax
mov eax, dword [eax + 4]
call eax
add esp, 0x18
test eax, eax
jns 0x66df1b
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x66dedc
call fcn.0067561c
mov dword [esi + 0x34], 0
mov ecx, 0xffdf
mov eax, dword [esi + 8]
and word [eax + 0x12], cx
mov ecx, 0x80
mov eax, dword [esi + 8]
or word [eax + 0x12], cx
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x66df07
call fcn.0066b1cc
mov ecx, 0x43bd58
mov dword [esi + 0x3c], 0x1f7
call fcn.0066b03c
mov dword [esi + 0x40], eax
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
test edx, edx
je 0x66de9b
mov edx, 0x1000
test word [eax + 0x54], dx
jne 0x66de9b
mov edx, 1
jmp 0x66de9d