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

Disassembly:
push ebp
mov ebp, edx
push edi
push esi
push ebx
sub esp, 0x9c
mov dword [esp + 0x20], eax
mov eax, dword [eax + 0x74]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], eax
test eax, eax
je 0x66632818
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x100]
test ebx, ebx
je 0x66632830
mov eax, dword [esp + 0xb0]
jmp 0x666327fb
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x666328d0
cmp dword [ebx], ebp
jne 0x666327f0
cmp dword [ebx + 0xc], eax
jne 0x666327f0
add esp, 0x9c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 0x100]
test ebx, ebx
jne 0x666327dd
mov dword [esp + 0x1c], eax
lea esi, [esi]
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x666328e4
mov edx, 0x18
xor ecx, ecx
call fcn.6658bdd0
mov ebx, eax
test eax, eax
jne 0x66632863
xor ebx, ebx
add esp, 0x9c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
lea ecx, [eax + 4]
mov edx, eax
mov dword [eax], 0
xor edi, edi
and ecx, 0xfffffffc
mov dword [eax + 0x14], 0
xor eax, eax
sub edx, ecx
add edx, 0x18
and edx, 0xfffffffc
mov dword [ecx + eax], edi
add eax, 4
cmp eax, edx
jb 0x66632884
mov esi, dword [esp + 0x1c]
mov edx, 0x1c
xor ecx, ecx
mov eax, dword [esi + 0x100]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x100], ebx
call fcn.6658bdd0
mov dword [esp + 0x34], eax
test eax, eax
jne 0x66632eb5
mov dword [ebx + 8], 0
xor ebx, ebx
jmp 0x66632856
mov eax, dword [esp + 0x1c]
test eax, eax
cmove eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
jmp 0x66632830
mov eax, 0x18
xor edx, edx
call fcn.6658bcf0
mov ebx, eax
test eax, eax
je 0x66632854
lea ecx, [eax + 4]
mov edx, eax
mov dword [eax], 0
xor edi, edi
and ecx, 0xfffffffc
mov dword [eax + 0x14], 0
xor eax, eax
sub edx, ecx
add edx, 0x18
and edx, 0xfffffffc
mov dword [ecx + eax], edi
add eax, 4
cmp eax, edx
jb 0x6663291b
mov esi, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esi + 0x100]
mov dword [ebx + 4], eax
mov eax, 0x1c
mov dword [esi + 0x100], ebx
call fcn.6658bcf0
mov dword [esp + 0x34], eax
test eax, eax
je 0x666328bd
mov eax, dword [esp + 0x34]
xor edi, edi
lea ecx, [eax + 4]
mov dword [eax], 0
and ecx, 0xfffffffc
mov dword [eax + 0x18], 0
sub eax, ecx
mov edx, eax
xor eax, eax
add edx, 0x1c
and edx, 0xfffffffc
mov dword [ecx + eax], edi
add eax, 4
cmp eax, edx
jb 0x66632975
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
mov eax, dword [eax + 8]
mov dword [ebx + 8], esi
mov edx, dword [eax + 0xd8]
mov dword [esi + 0x18], edx
xor edx, edx
mov dword [eax + 0xd8], esi
mov eax, dword [esp + 0xb0]
mov dword [ebx], ebp
mov dword [ebx + 0xc], eax
mov eax, 0x110
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx + 0x14], 0xffffffff
call fcn.6658bcf0
mov esi, eax
test esi, esi
je 0x66632854
lea edi, [esi + 4]
mov ecx, esi
xor eax, eax
mov dword [esi], 0
mov dword [esi + 0x10c], 0
and edi, 0xfffffffc
xor edx, edx
sub ecx, edi
add ecx, 0x110
shr ecx, 2
rep stosd dword es:[edi], eax
mov dword [esp + eax + 0x74], edx
add eax, 4
cmp eax, 0x1c
jb 0x666329f5
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x70], esi
mov dword [esi], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x78], eax
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x74], eax
mov eax, dword [ebp]
mov dword [esi + 0xf0], eax
movzx edx, byte [ebp + 8]
mov byte [esi + 0x90], dl
mov edx, dword [edi + 0x84]
mov dword [esi + 0x84], edx
movzx edx, byte [edi + 0x19]
mov edi, dword [esi + 8]
mov byte [esi + 0x19], dl
mov dword [esp + 0x30], edi
test edi, edi
je 0x66632f59
test eax, eax
je 0x66632a85
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.___TRIGGER__s
mov dword [esp], eax
call fcn.665bc610
mov dword [esp], 0xfffffff9
mov edx, 0xffffffff
mov ecx, eax
mov eax, dword [esp + 0x30]
call fcn.6659aa70
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x66632f74
mov dword [esp], 0
mov eax, dword [esp + 0x2c]
xor ecx, ecx
call fcn.665a7430
mov edi, eax
test eax, eax
je 0x66633001
mov edx, eax
lea eax, [esp + 0x70]
call fcn.665bb110
mov dword [esp + 0x44], eax
test eax, eax
jne 0x66632ff4
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x53], 0
je 0x6663304b
mov eax, dword [esp + 0x2c]
mov edx, edi
call fcn.665978b0
mov eax, dword [esi + 8]
mov edi, dword [ebp + 0x1c]
mov ecx, eax
mov eax, dword [esi]
mov dword [esp + 0x24], eax
test edi, edi
je 0x66632db7
movzx eax, byte [esp + 0xb0]
mov dword [esp + 0x48], ebx
mov ebx, ecx
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x2b], al
jmp 0x66632b8b
cmp al, 0x7e
je 0x66632cd0
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x24]
xor ecx, ecx
call fcn.665a7140
lea ecx, [esp + 0x54]
mov byte [esp + 0x54], 4
mov ebp, eax
mov edx, eax
mov eax, esi
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
call fcn.6660adb0
test ebp, ebp
je 0x66632b80
mov eax, dword [esp + 0x24]
mov ecx, 1
mov edx, ebp
call fcn.665977a0
lea esi, [esi]
lea esi, [esi]
mov edi, dword [edi + 0x28]
test edi, edi
je 0x66632daf
cmp dword [esp + 0xb0], 0xb
movzx eax, byte [esp + 0x2b]
jne 0x66632b9e
movzx eax, byte [edi + 1]
mov byte [esi + 0x92], al
mov eax, dword [edi + 0x24]
test eax, eax
je 0x66632c12
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], str.____s
mov dword [esp], eax
call fcn.665bc610
mov edx, dword [ebx + 0x6c]
mov ebp, eax
cmp edx, dword [ebx + 0x70]
jge 0x66632f32
mov ecx, dword [ebx + 0x68]
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
lea eax, [edx + edx*4]
lea eax, [ecx + eax*4]
mov dword [eax], 0xad
mov dword [eax + 4], 0x7fffffff
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [esp], 0xfffffff9
mov ecx, ebp
mov eax, ebx
call fcn.6659aa70
movzx eax, byte [edi]
cmp al, 0x7f
je 0x66632d70
cmp al, 0x80
jne 0x66632b10
movzx eax, byte [esi + 0x92]
mov ebp, dword [edi + 0x14]
mov dword [esp + 0x38], eax
test ebp, ebp
je 0x66632c4d
mov dword [esp], 0
mov eax, dword [esp + 0x24]
mov edx, ebp
xor ecx, ecx
call fcn.665a7430
mov ebp, eax
mov edx, dword [edi + 0x18]
mov eax, dword [esp + 0x24]
xor ecx, ecx
call fcn.665a7910
mov edx, edi
mov dword [esp + 0x3c], eax
mov eax, esi
call fcn.665b8300
mov dword [esp], ebp
mov ecx, dword [esp + 0x3c]
mov edx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, esi
call fcn.6662f870
mov eax, dword [ebx + 0x6c]
cmp eax, dword [ebx + 0x70]
jge 0x66632d44
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + edx*4]
mov dword [eax], 0x7e
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
jmp 0x66632b80
mov ebp, dword [esp + 0x24]
mov edx, dword [edi + 0x20]
mov eax, ebp
call fcn.665a7ca0
movzx ecx, byte [esi + 0x92]
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x38], eax
mov eax, ebp
mov dword [esp + 0x3c], ecx
call fcn.66592dd0
mov edx, dword [edi + 8]
xor ecx, ecx
mov ebp, eax
mov eax, dword [esp + 0x24]
call fcn.665a7140
mov edx, edi
mov dword [esp + 0x40], eax
mov eax, esi
call fcn.665b8300
mov ecx, dword [esp + 0x3c]
mov dword [esp], ebp
mov edx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, esi
call fcn.66635ce0
mov eax, dword [ebx + 0x6c]
cmp eax, dword [ebx + 0x70]
jl 0x66632c94
mov dword [esp], 0
xor ecx, ecx
mov edx, 0x7e
mov eax, ebx
mov dword [esp + 4], 0
call fcn.6659fd40
jmp 0x66632b80
mov ebp, dword [edi + 0x14]
test ebp, ebp
je 0x66632d8d
mov dword [esp], 0
mov eax, dword [esp + 0x24]
mov edx, ebp
xor ecx, ecx
call fcn.665a7430
mov ebp, eax
mov edx, edi
mov eax, esi
call fcn.665b8300
mov ecx, ebp
mov edx, eax
mov eax, esi
call fcn.66638500
mov eax, dword [ebx + 0x6c]
cmp eax, dword [ebx + 0x70]
jl 0x66632c94
jmp 0x66632d44
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x44]
test edi, edi
jne 0x66632fab
mov edi, dword [esp + 0x30]
mov eax, dword [edi + 0x6c]
cmp eax, dword [edi + 0x70]
jge 0x66632fd2
mov edi, dword [esp + 0x30]
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov dword [eax], 0x44
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov edi, dword [esp + 0x20]
mov edx, dword [esi + 4]
mov ecx, dword [edi + 0x24]
test ecx, ecx
jne 0x66632f97
mov eax, dword [esi + 0x24]
mov dword [edi + 4], edx
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x53], 0
jne 0x66632e68
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x66632e68
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
add edx, 0x60
mov edi, dword [eax + 0x68]
call fcn.66592b60
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [ecx + 0x6c]
mov dword [edx + 4], eax
mov dword [ecx + 0x68], 0
mov dword [edx], edi
mov eax, dword [esi + 0x2c]
mov edi, dword [esp + 0x34]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 0x14], ebp
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x88]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x8c]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x30]
call fcn.6659aa20
mov eax, esi
call fcn.665979f0
mov eax, dword [esp + 0x2c]
mov edx, esi
call fcn.665926e0
add esp, 0x9c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x34]
xor edi, edi
lea ecx, [eax + 4]
mov dword [eax], 0
and ecx, 0xfffffffc
mov dword [eax + 0x18], 0
sub eax, ecx
mov edx, eax
xor eax, eax
add edx, 0x1c
and edx, 0xfffffffc
mov dword [ecx + eax], edi
add eax, 4
cmp eax, edx
jb 0x66632eda
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
xor ecx, ecx
mov eax, dword [eax + 8]
mov dword [ebx + 8], esi
mov edx, dword [eax + 0xd8]
mov dword [esi + 0x18], edx
mov edx, 0x110
mov dword [eax + 0xd8], esi
mov eax, dword [esp + 0xb0]
mov dword [ebx], ebp
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx + 0x14], 0xffffffff
call fcn.6658bdd0
mov esi, eax
jmp 0x666329c4
mov dword [esp + 4], 0
mov edx, 0xad
mov ecx, 0x7fffffff
mov eax, ebx
mov dword [esp], 1
call fcn.6659fd40
mov edx, eax
jmp 0x66632c02
mov eax, esi
call fcn.6659fe10
mov dword [esp + 0x30], eax
test eax, eax
je 0x66632e96
mov eax, dword [ebp]
jmp 0x66632a52
mov eax, dword [esi + 8]
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x44], 0
mov ecx, eax
mov eax, dword [esi]
mov dword [esp + 0x24], eax
test edi, edi
jne 0x66632af2
jmp 0x66632dc3
test edx, edx
je 0x66632e68
mov eax, dword [esi]
call fcn.665926e0
jmp 0x66632e29
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 0xc]
not ecx
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x6663303d
mov edi, dword [esp + 0x30]
mov eax, dword [eax + 0x40]
mov edx, dword [edi + 0x6c]
mov dword [eax + ecx*4], edx
jmp 0x66632dc3
mov dword [esp], 0
xor ecx, ecx
mov edx, 0x44
mov eax, edi
mov dword [esp + 4], 0
call fcn.6659fd40
jmp 0x66632e08
mov dword [esp + 0x44], 0
jmp 0x66632ad1
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x53], 0
jne 0x66632f74
mov eax, dword [esi + 0x38]
sub eax, 1
mov dword [esi + 0x38], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], esi
mov dword [esp + 0x44], eax
call fcn.66607b00
jmp 0x66632adc
mov edx, dword [esp + 0x30]
call fcn.6659a020
jmp 0x66632dc3
mov eax, dword [esi + 0x38]
sub eax, 1
mov dword [esi + 0x38], eax
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x44], eax
call fcn.66607b00
jmp 0x66632ad1